Einzelnen Beitrag anzeigen

Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#1

Interface aus dll laden

  Alt 3. Feb 2016, 07:58
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.
  Mit Zitat antworten Zitat