Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Woher kommt globale Variable für Datenmodule

  Alt 6. Jan 2013, 16:01
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
Frank Reim
  Mit Zitat antworten Zitat