![]() |
Form in DLL in Verbindung mit Datenmodule
Hallo,
hoffe ihr könnt mir einen Tipp geben, wie man folgende DLL´s korrekt erstellen kann. :-D Ich habe eine Anwendung die sich nach dem Start in die Taskleiste verschiebt. Von dort kann man dann die einzelnen Formulare aufrufen. Es handelt sich immer um Formulare die Verbindungen zu einem Datenmodul haben. Ich möchte diese in DLL´s auslagern. Ich habe in der jeweilgen Projektdatei der DLL´s folgenden Aufbau:
Delphi-Quellcode:
Das Hauptprogramm erzeugt beim Start auch eine Instanz des DatenModuls. Das habe ich aber bereits einmal
library formularName1;
uses Forms, formularName1 in 'form1.pas' {form1}, formularDaten in 'formdaten.pas' {formularDaten: TDataModule}; {$E dll} {$R *.res} procedure ShowFormular1; stdcall; begin formularDaten := TformularDaten.Create(Application); formularName1 := TformularName1.Create(Application); try formularName1.ShowModal; finally formularName1.Release; formularDaten.Free; end; end; exports ShowFormular1; begin end. komplett entfernt. Trotzdem wird nach dem Beenden des Programms (nicht beim Schliessen der Formulare aus der DLL!) eine Exception ausgelöst. Wie baut man soetwas am besten auf? Hoffe ihr könnt mir einen Tipp geben. Ich habe hier schon gesucht, aber eine solche DLL / Konstellation nicht gefunden. :gruebel: Grüße Holger |
Re: Form in DLL in Verbindung mit Datenmodule
Delphi-Quellcode:
Doppelt gemoppelt! Bei ShowModal reicht einfach ein Free. Bei Show sollte man mit Release die freigabe erledigen.
formularName1.Release;
formularDaten.Free; |
Re: Form in DLL in Verbindung mit Datenmodule
Zitat:
|
Re: Form in DLL in Verbindung mit Datenmodule
Zitat:
|
Re: Form in DLL in Verbindung mit Datenmodule
Zitat:
danke für den Hinweis. Das Datenmodul wird dann auch mit freigegeben? Es wird ja in der Routine vor dem Formular erst erstellt! :gruebel: Meine Exception ist geblieben. Zitat:
Grüße Holger |
Re: Form in DLL in Verbindung mit Datenmodule
Zitat:
Zitat:
|
Re: Form in DLL in Verbindung mit Datenmodule
Zitat:
Zitat:
Grüße Holger |
Re: Form in DLL in Verbindung mit Datenmodule
Zitat:
|
Re: Form in DLL in Verbindung mit Datenmodule
Hallo Bernhard,
sorry, das ich mir alles so langsam aus der Nase ziehen lasse. :zwinker: In dieser DLL sind DBMaskEdit-Felder und ein Grid von DevExpress sowie PngButtons. Grüße Holger |
Re: Form in DLL in Verbindung mit Datenmodule
Antwort und Lösung gefunden :thumb:
Delphi-Quellcode:
Und im Hauptprogramm:
library formularName1;
uses SysUtils, Classes, Forms, dxThemeManager, formularName1 in 'form1.pas' {form1}, formularDaten in 'formdaten.pas' {formularDaten: TDataModule}; {$E dll} {$R *.res} procedure CloseThemen; begin CloseAllThemes; end; procedure ShowFormular1; stdcall; begin formularDaten := TformularDaten.Create(Application); formularName1 := TformularName1.Create(Application); try formularName1.ShowModal; finally FreeAndNil(formularName1); FreeAndNil(formularDaten); end; end; exports ShowFormular1, CloseThemen; begin end.
Delphi-Quellcode:
Und schon gibt es keine Exception. :cheers: [..] initialization finalization CloseThemen; Grüße Holger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz