Autor Beitrag
Gahero
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 193

Win Vista HP 64bit
Delphi 2007 Pro
BeitragVerfasst: Sa 05.01.08 12:34 
Hallo,

ich habe folgende Frage:
Wie kann man Komponeten in eine Dll auslagern?
Ich würde gerne 2 Programme zusammen basteln, aber eins ist in Delphi geschreiben, dass andere in C#. Ich hatte die Idee eine Hauptanwendung zu schreiben und die einzelnen Programmteile, die im Moment als Tabsheets vorliegen samt Code und Design in eine Dll auszulagern und dann im Hauptprogramm auch wieder als Tabsheets zu verwenden.

Wie kann man sowas realisieren. ich habe bisher immer nur Prozeduren in dlls ausgelagert...
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: So 06.01.08 01:07 
Mir fällt da kein Weg ein, das direkt zu implementieren... außer du machst dir die Mühe, die Hautanwendung so zu schreiben, dass sie einen Datenstrom von der DLL annimmt, welcher die GUI beschreibt und dann zur Laufzeit dynamisch Komponenten (TTabSheet etc.) erzeugt, und die OnClick-Ereignisse an die DLL weiterleitet. Umständlich, aber meine einzige Idee :nixweiss:

_________________
Life is a bad adventure, but the graphic is really good!
dummzeuch
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 593
Erhaltene Danke: 5


Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
BeitragVerfasst: So 06.01.08 12:58 
user profile iconGahero hat folgendes geschrieben:
ich habe folgende Frage:
Wie kann man Komponeten in eine Dll auslagern?
Ich würde gerne 2 Programme zusammen basteln, aber eins ist in Delphi geschreiben, dass andere in C#. Ich hatte die Idee eine Hauptanwendung zu schreiben und die einzelnen Programmteile, die im Moment als Tabsheets vorliegen samt Code und Design in eine Dll auszulagern und dann im Hauptprogramm auch wieder als Tabsheets zu verwenden.

Wie kann man sowas realisieren. ich habe bisher immer nur Prozeduren in dlls ausgelagert...


Du muesstest ein dotNET Assembly schreiben, eine normale DLL kann das nicht (naja, es geht mit viel rumgehacke, aber das willst Du nicht wirklich versuchen). Allerdings muesstest Du dann auch Delphi fuer dotNET verwenden (wegen C#).

Wenn es nur Delphi waere, ginge es wesentlich einfacher: Fuer jedes Tabsheet ein Package erstellen, welches den Inhalt als Frame erstellt, diesen Frame dann im Hauptprogramm in ein Tabsheet einblenden.

twm