Hallo,
Ich verwende Datamodules auch gerne für das zentrale Hinterlegen von Imagelisten etc.
Wenn ich ein normales Projekt haben, kann ich unter den Projektoptionen unter Formulare das Datamodule automatisch erzeugen oder nicht. In einem
Package fehlt diese Option und das Datamodule wird auch nicht erzeugt und ist NIL.
In dem Packages sind z.B. Formulare hinterlegt und Actionmanager verwenden die imagelisten des Datamodules für Toolbars etc....
Mache ich nix, ist das Datamodule NIL und es werden keine Images aus dem Datamodule gezogen, klar es ist ja nicht erstellt wurden.
Erzeuge ich es selber:
Delphi-Quellcode:
DatamoduleErzeugt:=(Datamodule_IH_Images<>NIL);
if NOT(DatamoduleErzeugt) then
Datamodule_IH_Images := TDatamodule_IH_Images.Create(NIL);
…
Erstelle Hauptformular des Packages
…
if not(DatamoduleErzeugt) then
Datamodule_IH_Images.Free;
// Datamodule_IH_Images:=Nil;
Ohne dem Datamodule_IH_Images:=Nil; geht der 2. Aufruf auch schief, da dann das Datamodule wieder nicht erstellt wurde, ist ja nicht NIL … .
Mit dem Datamodule_IH_Images:=Nil bzw FreeAndNil klappt alles, allerdings sehe ich dann in der
IDE dann öfters solche Fehlermeldungen:
Zitat:
Modul 'Form_XYZ' ist mit Modul 'Datamodule_IH_Images' verknüpft, das im aktuellen Projekt nicht gefunden wurde. Sollen die Verknüpfungen entfernt oder zu einem anderen Modul umgeleitet werden?
Ich muß dann das Datamodule öffen, in die Design-ansicht wechseln und dann zum Formular Form_XYZ zurück …
Wie macht man das richtig? Wie verwaltet man ein Datamodule in einem Package?
Danke&Gruß Frank