AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interface aus dll laden

Ein Thema von Edelfix · begonnen am 3. Feb 2016 · letzter Beitrag vom 3. Feb 2016
 
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
234 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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz