Einzelnen Beitrag anzeigen

Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#3

Re: Klassen in DLLs verpacken

  Alt 8. Jul 2006, 00:20
Du erstellst eine rein virtuelle Basisklasse, davon dann eine abgeleitete Klasse, die die Methoden implementiert. Dazu machst du eine Funktion, die in der DLL eine Instanz der Klasse erzeugt und zurückgibt. Lediglich diese Funktion musst du exportieren. In deinem Hauptprogramm muss ebenfalls die Deklaration der rein virtuellen Basisklasse bekannt sein. Dann nimmst du einfach eine Objektvariable der rein virtuellen Klasse, und weist den Rückgabewert deiner exportierten Funktion zu. Und schon kannst du die Methoden in der DLL aufrufen.

edit: Der Vollständigkeit halber sei erwähnt, dass du auf diese Weise bei jedem Methodenaufruf eine Zeigerindirektion hast, was aber in fast allen Fällen kein zeitkritisches Problem darstellen sollte.
  Mit Zitat antworten Zitat