Hallo,
ich suche nach einem Tutorial oder ein Tipp wie ich ein Interface (IUnknown) aus einer in C geschriebenen
DLL laden kann.
Mein Ansatz sieht so aus:
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var
DLLHandle: HMODULE;
APointer : Pointer;
begin
DLLHandle := LoadLibrary('
DavidClientAddin.dll');
memo1.Lines.Add('
DLLHandle: ' + IntToStr(DLLHandle));
APointer := GetProcAddress(DLLHandle, '
IDavidClientAddin');
try
if assigned(APointer)
then begin
memo1.Lines.Add('
Test1. Funzt!')
end else
memo1.Lines.Add('
Test1. Funzt NET!');
except on e:
Exception do
WriteLn(Output,e.
Message);
end;
if DLLHandle <> 0
then FreeLibrary(DLLHandle);
end;
Leider ist APointer immer nil.
Ich habe auch schon mit "supports" rumexperimentiert. Nur muss dazu die
DLL registriert sein.
Die
DLL lässt sich aber nicht registrieren. Eigentlich soll die
DLL auch nicht registriert werden.
Ich möchte nur auf die drei Funktionen im Interface zugreifen.