Hallo,
wir sind noch beim Experimentieren mit der Programm-Modularisierung in Delphi.
BPL wollen wir aufgrund der Versionsabhängigkeit nicht verwenden.
Eine Dll hat den Vorteil Delphi- unabhängig stärker zu modularisieren. Ein wesentlicher Grund
ist allerdings, das wird die Dll auch erst mal unter Net weiternutzen wollen.
Eine Dll enthält eine komplette Form (z.B. Auftragseingang).
Die Dll hat ein eigenes Applicationshandle.
Dadurch kolodieren verwendete Komponenten nicht untereinander durch Registerclass.
Die einzige Schnittstelle zum Programm ist eine Parameterübergabe und ein evendueller Callback.
Die Dll erhält das Handle der Parentform und wird auf dieser per SetWindowsParent fixiert.
Dieses Verfahren haben wir bisher bereits praktiziert nit Modulen, welche als Exe bereitgestellt werden.
Hier gestaltet sich jedoch die IPC etwas schwierig.
Insbesondere die Rücklieferung von Ergebnissen.
Was mich jetzt interessiert, funktioniert das Übergeben von (nicht visuellen) Objekten als Pointer?
Wir verwenden z.B. IBDAC als Zugriffsschicht.
Jedes externe Modul benötigt eine Query oder zumindest die Connection.
Also so ein Construct:
Delphi-Quelltext
in der Dll
Delphi-Quelltext
1: 2:
| Query := TIBCQuery.Create(nil); Query.Connection := ParamConnection; |
Für einen Tip dankbar.
Gruß
Carla
Moderiert von
Christian S.: Delphi-Tags hinzugefügtModeriert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Sa 17.01.2009 um 12:19