![]() |
Klassen in DLLs?
Also ich habe eine Klasse, die heisst
TMainClass und hat virtuelle Methoden, die von den unterklassen mit override überschrieben werden. Ich wollte jetzt diese TMainClass in eine DLL packen und mit der Exportieren. Meine Fragen sind: Wie kann ich diese Klasse mit der DLL exportieren und wie kann ich diese in Delphi dann wieder importieren. thx mirage228 |
Wenn sich das nicht geändert hat, als ich mich das letzte Mal damit befasst habe, dann kann eine Delphi-DLL keine Klassen exportieren. Wenn du es trotzdem machen willst, hast du im wesentlichen zwei Möglichkeiten:
1. COM (ist kompliziert aber funktioniert auf jeden Fall 2. Wenn sowohl DLL als auch aufrufendes Programm mit Delphi gemacht sind, kannst du in der DLL eine Funktion exportieren, die einen Zeiger auf eine Instanz der im Programm bekannten Basisklasse zurückliefert, intern aber eine abgeleitete Version verwendet. Das heißt, "offiziell" exportiert in deinem Beispiel die DLL eine Funktion, die einen Zeiger auf TMainClass zurückliefert, die Funktion selbst instanziiert aber eine von TMainClass abgeleitete Klasse. Weiß nicht ob's so geht aber müsste eigentlich ;c) |
danke erstmal für den lösungsvorschlag, aber ich bin noch nicht so gut in delphi und weiss nicht sehr viel damit anzufangen! Gibt es vielleicht irgendwo ein beispiel, damit ich es mir veranschaulichen kann?
|
Re: Klassen in DLLs?
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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