Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Objekte zw. Programm und DLL austauschen - Interfaces?

  Alt 6. Sep 2008, 20:31
Ja, Interfaces sind in diesem Zusammenhang durchaus recht nützlich. Sie werden nämlich nicht nach Adresse verglichen wie Klassen (was dort dazu führt, dass as und is fehlschlagen können, weil DLL.Klasse <> Hauptprogramm.Klasse), sondern nach GUID, welche natürlich überall gleich ist.

Dass du nicht von TInterfacedObject ableiten kannst, ist alles andere als tragisch. Die Implementierung der drei IInterface-Methoden ist äußerst kurz, du kannst sie einfach kopieren.
Zur Frage, ob du zu jeder Klasse ein Interface deklarieren musst: Das Interface legt die Schnittstelle fest. Alles, was daher außerhalb des Moduls verwendet werden soll, sollte daher in einem Interface deklariert werden.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat