Eine mögliche Vorgehensweise (noch ohne
COM):
Delphi-Quellcode:
//Unit mit Interface-Deklaration für beide Programmteile:
type ImyInterface=interface
['
{C55C5E2B-CC7D-4B8F-97BC-AB2A66EAAA33}']
//erstellen mittels [strg]+[shift]+[g]
procedure doSomething;
procedure setx(value:Integer);
function getx:Integer;
property x:Integer
read getx
write setx;
end;
Delphi-Quellcode:
Nur
in der
DLL dann eine Klasse dazu implementieren:
type TmyInterfaceClass=class(TInterfacedObject,ImyInterface)
//Hier jetzt die (3) Methoden von oben implementieren
//zusätzlich können noch weitere Methoden und Felder in der Klasse sein,
end;
//du kannst jetzt auch weitere Klassen über dasselbe Interface implementieren
//und eine Funktion schreiben, welche das Interface liefert:
function getIntf:IUnknown;
begin
result:=TmyInterfaceClass.create;
end;
Delphi-Quellcode:
//in der Exe bekommst du die Klasse dann mittels:
var intf:ImyInterface;
begin
intf:=getIntf as ImyInterface;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.