procedure TdmCentral.actionExecute(Sender: TObject);var f: TdmDateModule;begin { f := FDataModule; if not Assigned(f) then begin f := TdmDataModule.Create(self); end; f.DisplayForm; } if not Assigned(FDataModule) then begin FDataModule := TdmDataModule.Create(self); end; FDataModule.DisplayForm;end
FDataModule := f;
f:= FDataModule
Strange. Isn't there missing:Code: [Select]FDataModule := f;below the construction?I mean that the TdmDateModule (in variable f) is created again and again but always lost (but not freed) when method ends.
if not Assigned(FDataModule) then begin FDataModule := TdmDataModule.Create(self); end; FDataModule.DisplayForm;
Code: [Select] if not Assigned(FDataModule) then begin FDataModule := TdmDataModule.Create(self); end; FDataModule.DisplayForm;The code block looks fine. What else is happening, for instance have you debugged inside DisplayForm()? And how is FDataModule initialized? Can TdmDataModule.Create(self) take TdmCentral as parameter?