uses System.StartUpCopy, FMX.Forms, Unit1 in 'Unit1.pas' {Form1} , Unit2 in 'Unit2.pas' {Form2} , Unit3 in 'Unit3.pas' {Form3};
{$R *.res}
begin
// I test it using windows 7 and Delphi XE7 fmx
// This program will freez if you run it like this: // 1. click 'To form3' button from Form1--> click 'To form2' button from Form3-->Return back to Form1. // 2. Repeat step 1 or click 'To form2' button from Form1
type TForm2 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form2: TForm2;
implementation
{$R *.fmx}
// Form2: // remember: Uncheck biMinimize and biMaximize from Object Inspector. bisystemMenu is optional
procedure TForm2.FormCreate(Sender: TObject); begin Form2.Caption:='Form2: press Alt+F4 or System Menu to exit this form'; // if you check bisystemMenu from Object Inspector end;
This program will freez if you run it like this: 1. click 'To form3' button from Form1--> click 'To form2' button from Form3-->Return back to Form1. 2. Repeat step 1 or click 'To form2' button from Form1 Conclusion: if a form is not a main form and it is a auto-create form and its form.borderIcons.biMaximize or biMiniimize or biSystemMenu is false [or all of them are false] if you call it from another form which is not auto-create one then you repeat this again or call it from main form app will freez. But if you call this form from main form once then do the above, every thing will be ok
----------------------------------------------
-