diff --git a/packages/delphi10/heidisql.dpr b/packages/delphi10/heidisql.dpr index 308fd528..e3335cb5 100644 --- a/packages/delphi10/heidisql.dpr +++ b/packages/delphi10/heidisql.dpr @@ -45,7 +45,6 @@ begin Application.Title := APPNAME; Application.CreateForm(TMainForm, MainForm); debug('perf: Main created.'); - Application.CreateForm(TprintlistForm, printlistForm); debug('perf: printlist created.'); Application.CreateForm(TCopyTableForm, CopyTableForm); debug('perf: CopyTable created.'); Application.CreateForm(TFormEditUser, FormEditUser); debug('perf: EditUser created.'); Application.CreateForm(TfrmSQLhelp, frmSQLhelp); debug('perf: frmSQLhelp created.'); diff --git a/packages/delphi11/heidisql.dpr b/packages/delphi11/heidisql.dpr index 33d295f1..f37adc37 100644 --- a/packages/delphi11/heidisql.dpr +++ b/packages/delphi11/heidisql.dpr @@ -45,7 +45,6 @@ begin Application.CreateForm(TMainForm, MainForm); debug('perf: Main created.'); - Application.CreateForm(TprintlistForm, printlistForm); debug('perf: printlist created.'); Application.CreateForm(TCopyTableForm, CopyTableForm); debug('perf: CopyTable created.'); Application.CreateForm(TFormEditUser, FormEditUser); debug('perf: EditUser created.'); Application.CreateForm(TfrmSQLhelp, frmSQLhelp); debug('perf: frmSQLhelp created.'); diff --git a/packages/delphi6/heidisql.dpr b/packages/delphi6/heidisql.dpr index a8288e8d..59b24907 100644 --- a/packages/delphi6/heidisql.dpr +++ b/packages/delphi6/heidisql.dpr @@ -36,7 +36,6 @@ begin Application.CreateForm(Tconnform, connform); Application.CreateForm(TFieldEditForm, FieldEditForm); Application.CreateForm(TUserManagerForm, UserManagerForm); - Application.CreateForm(TprintlistForm, printlistForm); Application.CreateForm(TCopyTableForm, CopyTableForm); Application.CreateForm(TFormEditUser, FormEditUser); Application.Run; diff --git a/source/main.pas b/source/main.pas index 5cf85c9a..d97d37ca 100644 --- a/source/main.pas +++ b/source/main.pas @@ -789,7 +789,7 @@ begin // TODO: Print data end else - printlistform.showmodal; + printlistWindow(self); end; diff --git a/source/printlist.dfm b/source/printlist.dfm index d5fe6384..2fd427b8 100644 --- a/source/printlist.dfm +++ b/source/printlist.dfm @@ -112,6 +112,7 @@ object printlistForm: TprintlistForm Height = 25 Cancel = True Caption = 'Cancel' + ModalResult = 2 TabOrder = 4 OnClick = Button2Click end @@ -122,6 +123,7 @@ object printlistForm: TprintlistForm Height = 25 Caption = 'Print' Default = True + ModalResult = 1 TabOrder = 3 OnClick = Button3Click end diff --git a/source/printlist.pas b/source/printlist.pas index ab2ac7c3..466b329b 100644 --- a/source/printlist.pas +++ b/source/printlist.pas @@ -36,8 +36,7 @@ type { Public declarations } end; -var - printlistForm: TprintlistForm; + function printlistWindow(AOwner: TComponent): Boolean; implementation @@ -45,6 +44,21 @@ uses childwin, main; {$R *.DFM} +{** + Create form on demand + @param TComponent Owner of form (should be calling form) + @return Boolean Form closed using modalresult mrOK +} +function printlistWindow(AOwner: TComponent): Boolean; +var + f : TprintlistForm; +begin + f := TprintlistForm.Create(AOwner); + Result := (f.ShowModal=mrOK); + FreeAndNil(f); +end; + + procedure TprintlistForm.FormShow(Sender: TObject); var i,t : Integer;