Ich probiere es derzeit so. In meiner Hauptanwendung habe ich folgendes drinstehen :
Delphi-Quellcode:
type
//
// Declaration of class for the interface IApplication
//
IApp = interface(IInterface)
function GetTheCaption:string;
end;
TAppInf = class(TInterfacedObject, IApp)
public
function GetTheCaption: String;
end;
...
implementation
...
{ TAppInt }
function TAppInf.GetTheCaption: string;
begin
result := 'Das ist ein Test für ein Interface';
end;
Die
Unit, die ich in der
DLL und in der Hauptanwendung mit einfüge hat den folgenden Teil :
Delphi-Quellcode:
IApp = interface(IInterface) ['{EE10386E-F8B8-44A1-8A88-D809B4EA1964}']
function GetTheCaption:string;
end;
In der
DLL selber mache ich dann folgendes :
Delphi-Quellcode:
var
PlgApp: IApp
...
procedure TPlugIn01.Execute;
begin
Form1 := TForm1.Create(nil);
Form1.Label1.Caption := PlgApp.GetTheCaption;
Form1.Show;
end;
Was mache ich falsch ? Oder habe ich das Prinzip der Interfaces noch nicht verstanden ?