Hallo,
alles schon probiert, weil ich ganz am Anfang meiner
DLL-Geschichte unbedingt Application oder das Hauptformular als Owner im create übergeben wollte.
Funktionierte nicht.
Wie gesagt, Schutzverletzung nach dem Schließen (und free-en) des Formulars in der
DLL.
(Nach Wegclicken des Fehlerhinweises funktionierte übrigens alles normal!)
Für mich sieht das so aus:
Beginnt man eine neue ANWENDUNG, wird "im Hintergrund" zuerst eine unsichtbare TApplication-Instanz erzeugt und danach das Hauptformular zum Bearbeiten geöffnet.
Bei jedem weiteren Formular dazu, gibt es keine neues Application-Instanz.
Nun habe ich eine Formularunit, die vorher im Programm war ohne große Änderungen in eine
DLL ausgelagert.
Wo und wann soll er denn da eine Application-Instanz angelegt haben. Wenn man eine neue
DLL schreibt, macht er es bestimmt nicht. Er kann unmöglich wissen, ob man da überhaupt ein Formular reinschreiben will.
Ich habe aber weitergespielt und etwas Erstaunliches rausbekommen.
In den Formularunits, die ja nur in die
DLL eingebunden sind, kann man durchaus Application benutzen.
Da bringt er die Daten aus dem Hauptprogramm, das diese
DLL benutzt. (Was auch wieder ein Hinweis darauf ist, dass er kein Extraapplication anlegt, sondern eben nur das vom jeweiligen Hauptprogramm anzeigt. Die
DLL kann man schließlich in vielen Hauptprogrammen verwenden.)
Gruß
Mattze