Hi,
ich möchte gerne Teile meines Projekts in dlls auslagern. Dazu habe ich mir nun in einem Testprojekt folgendes erstellt:
* eine Hauptform, die die
DLL lädt
* eine DatenModul-Klasse BaseDataModule = class(TDataModule)
Die Hauptform erzeugt zur Laufzeit das DatenModul und bindet es unter public ein. (Die globale DataModule-Variable habe ich entfernt).
In der
DLL wird die
Unit des DatenModuls eingebunden, damit die
DLL die
Unit überhaupt kennt. Die
dll kann nun eine Form erzeugen und diese direkt mit dem DataModule verbinden. (Create umgeschrieben).
Nungut - die
DLL "kennt" das DatenModul also und kann ohne weiteres damit arbeiten. Zur Designzeit kennt die Form in der
DLL das DataModule auch. Ich kann ohne Probleme z.B. ein DBGrid mit einem DataSource des DatenModuls verbinden.
Starte ich das Programm, wird diese Bindung von Grid zum DataSource aber nicht wieder hergestellt. Das funktioniert leider nur zur Designzeit. Weiß jemand wieso? Ich kann bei umfangreicheren Dialogen schlecht immer wieder alles per SourceCode machen - will ja schließlich
RAD nutzen
Achja: egal, wie ich das DatenModul in der Form in der
dll nenne, im Objektinspektor kann immer über BaseDataModule darauf zugegriffen werden. Komisch das...
Danke schon mal für eure Hilfe?
Gruß