@@ -94,12 +94,28 @@ procedure TC4DWizardIDEMainMenuOpenExternal.CreateMenuItensList;
9494var
9595 LItem: TC4DWizardOpenExternal;
9696 LListOrder: TList<Integer>;
97- I : Integer;
97+ LOrder : Integer;
9898 LMenuItem: TMenuItem;
9999
100- I2: Integer;
101- LItem2: TC4DWizardOpenExternal;
102- LMenuItem2: TMenuItem;
100+ procedure AddItensMenu (const AC4DWizardOpenExternal: TC4DWizardOpenExternal; const AMenuItem: TMenuItem);
101+ var
102+ LOrder2: Integer;
103+ LItem2: TC4DWizardOpenExternal;
104+ LMenuItem2: TMenuItem;
105+ begin
106+ for LOrder2 in LListOrder do
107+ for LItem2 in FList do
108+ begin
109+ if (LItem2.Order = LOrder2)then
110+ if (not LItem2.Created)and (LItem2.GuidMenuParent.Trim = AC4DWizardOpenExternal.Guid.Trim)then
111+ begin
112+ LMenuItem2 := Self.CreateSubMenu(AMenuItem, LItem2);
113+ LItem2.Created := True;
114+
115+ AddItensMenu(LItem2, LMenuItem2);
116+ end ;
117+ end ;
118+ end ;
103119begin
104120 if (FList.Count <= 0 )then
105121 Exit;
@@ -112,36 +128,24 @@ procedure TC4DWizardIDEMainMenuOpenExternal.CreateMenuItensList;
112128
113129 LListOrder.Sort;
114130
115- // PRIMEIRO COLOCA OS PARENT (PAIS)
116- for I in LListOrder do
131+ for LOrder in LListOrder do
117132 for LItem in FList do
118133 begin
119- if (LItem.Order = I )then
134+ if (LItem.Order = LOrder )then
120135 if (not LItem.Created)and (LITem.GuidMenuParent.Trim.IsEmpty)then
121136 begin
122137 LMenuItem := Self.CreateSubMenu(FMenuItemOpenExternal, LItem);
123138 LItem.Created := True;
124139
125- // **
126- for I2 in LListOrder do
127- for LItem2 in FList do
128- begin
129- if (LItem2.Order = I2)then
130- if (not LItem2.Created)and (LItem2.GuidMenuParent.Trim = LITem.Guid.Trim)then
131- begin
132- LMenuItem2 := Self.CreateSubMenu(LMenuItem, LItem2);
133- LItem2.Created := True;
134- end ;
135- end ;
136- // **
140+ AddItensMenu(LItem, LMenuItem);
137141 end ;
138142 end ;
139143 finally
140144 LListOrder.Free;
141145 end ;
142146
143147 for LItem in FList do
144- if (LItem.Order = 0 )then
148+ if (LItem.Order = 0 )and ( not LItem.Created) then
145149 Self.CreateSubMenu(FMenuItemOpenExternal, LItem);
146150end ;
147151
0 commit comments