@@ -12,7 +12,7 @@ interface
1212 Appearance, Unit_Editors, Unit_Locked_Columns, Unit_Custom_Sorting,
1313 Master_Detail_FireDAC, Unit_DataSet,
1414 Unit_FMX_Themes, Unit_FMX_Ticker, Exporting, Unit_FMX_REST, System.ImageList,
15- FMX.ImgList, Unit_Master_Detail_Two_Grids, ArrayData
15+ FMX.ImgList, Unit_Master_Detail_Two_Grids, ArrayData, FMX.Menus
1616 ;
1717
1818type
@@ -43,10 +43,13 @@ TMainForm = class(TForm)
4343 procedure ListView1ItemClick (const Sender: TObject; const AItem: TListViewItem);
4444 procedure FormCreate (Sender: TObject);
4545 private
46+ CurrentDemo : TCustomForm;
47+
4648 procedure AddDemosToListView ;
47- procedure RegisterClasses ;
49+ procedure DestroyCurrentDemo ;
4850 procedure CreateFormFromName (const FormName: string);
4951 procedure EmbeddForm (AParent: TControl; AForm: TCustomForm);
52+ procedure RegisterClasses ;
5053 public
5154 end ;
5255
@@ -60,9 +63,9 @@ TMainForm = class(TForm)
6063
6164 GroupHeaders = 4 ;
6265 GroupHeadersArray : array [1 ..GroupHeaders] of string = (' Adding Data' ,
63- ' Appearance' ,
64- ' Exporting' ,
65- ' Other Features' );
66+ ' Appearance' ,
67+ ' Exporting' ,
68+ ' Other Features' );
6669
6770 NumDemos = 12 ;
6871 Demos : array [1 ..NumDemos] of TDemo =
@@ -125,21 +128,6 @@ procedure TMainForm.AddDemosToListView;
125128 finally
126129 ListView1.EndUpdate;
127130 end ;
128-
129- (*
130-
131- ListView1.BeginUpdate;
132- try
133- for I := 1 to NumDemos do
134- begin
135- LItem := ListView1.Items.Add;
136- LItem.Text := DemosTitlearray[I];
137- LItem.TagString := DemosNameArray[I];
138- end;
139- finally
140- ListView1.EndUpdate;
141- end;
142- *)
143131end ;
144132
145133procedure TMainForm.FormCreate (Sender: TObject);
@@ -148,14 +136,21 @@ procedure TMainForm.FormCreate(Sender: TObject);
148136 AddDemosToListView;
149137end ;
150138
151- procedure TMainForm.ListView1ItemClick (const Sender: TObject; const AItem: TListViewItem);
152- var
153- s : string;
139+ procedure TMainForm.DestroyCurrentDemo ;
154140begin
155- MultiView1.HideMaster;
141+ CurrentDemo.Free;
142+ CurrentDemo:=nil ;
156143
157144 while LayoutDemo.ChildrenCount>0 do
158145 LayoutDemo.Children[0 ].Free;
146+ end ;
147+
148+ procedure TMainForm.ListView1ItemClick (const Sender: TObject; const AItem: TListViewItem);
149+ var s : string;
150+ begin
151+ MultiView1.HideMaster;
152+
153+ DestroyCurrentDemo;
159154
160155 s := AItem.TagString;
161156 DetailLabel.Text := AItem.Text;
@@ -180,17 +175,16 @@ procedure TMainForm.RegisterClasses;
180175end ;
181176
182177procedure TMainForm.CreateFormFromName (const FormName : string);
183- var
184- ObjClass: TFmxObjectClass;
185- NewForm : TCustomForm;
178+ var ObjClass: TFmxObjectClass;
186179begin
187180 ObjClass := TFmxObjectClass(GetClass(FormName));
188181
189182 if ObjClass <> nil then
190183 begin
191- NewForm := ObjClass.Create(Self) as TCustomForm;
192- if Assigned(NewForm) then
193- EmbeddForm(LayoutDemo,NewForm);
184+ CurrentDemo:= ObjClass.Create(Self) as TCustomForm;
185+
186+ if Assigned(CurrentDemo) then
187+ EmbeddForm(LayoutDemo,CurrentDemo);
194188 end
195189end ;
196190
0 commit comments