AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Klassen in DLLs?

Ein Thema von mirage228 · begonnen am 23. Mär 2003 · letzter Beitrag vom 23. Mär 2003
Antwort Antwort
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Klassen in DLLs?

  Alt 23. Mär 2003, 11:40
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
David F.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2
  Alt 23. Mär 2003, 13:24
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)
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3
  Alt 23. Mär 2003, 13:37
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?
David F.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Klassen in DLLs?

  Alt 23. Mär 2003, 17:10
Zitat von mirage228:
Wie kann ich diese Klasse mit der DLL exportieren
Die Lösung heißt hier Packages. Denn bei normalen DLLs kann es sehr leicht krachen und es ist zudem auch noch umständlich zu programmieren. Bei Packages hingegen tut man so, als ob die Unit, in der die Klasse deklariert ist, zum selben Projekt gehört. Der Compiler sorgt aber dafür, dass die gesamte Unit in eine bpl-Datei ausgelagert wird.


Zitat:
und wie kann ich diese in Delphi dann wieder importieren.
Bei Packages macht das der Compiler für dich.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz