Hi, Danke schon mal.
Bis jetzt ist es kein Problem, da Formular und dazugehöriges DataModule im Programm nur 1 Mal erzeugt werden können.
Das wollte ich nun ändern. Und ich möchte nur sichergehen, das die Zuweisungen aus der
DFM immer das DataModule verwenden, welches ich in der Formular -
Unit erzeugt habe.
Ich erzeuge das so:
Basis - Klasse:
Delphi-Quellcode:
class function TfrmAppBase.DataModuleClass: TDMBaseClass;
begin
Result := Nil;
end;
...
procedure TfrmAppBase.AfterConstruction;
begin
inherited;
FGridStorage := nil;
AppNotifier.AddListener(Self, [aeNewRecordInserted]);
if (DataModuleClass <> nil) and AutoCreateDataModule then
CreateDataModule;
end;
...
procedure TfrmAppBase.CreateDataModule;
begin
assert(DataModuleClass <> nil, 'DataModulclass ist NIL');
FDM := DataModuleClass.GetInstance(Self);
AfterDataModuleCreated;
UpdateRights;
CheckDBControlsDataSource;
FDM.Init;
end;
In jedem Formular verweist das Propertie DM auf das DataModule.
Wenn nun in der Grid für DataSource DMKunde.dsKunde steht, kann ich dann davon ausgehen, dass er mein im Form erzeugtes DM referenziert?
Frank