AGB  ·  Datenschutz  ·  Impressum  







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

Delphi-Dll in C++-Anwendung laden

Ein Thema von seddto1977 · begonnen am 26. Aug 2005 · letzter Beitrag vom 27. Aug 2005
 
seddto1977

Registriert seit: 15. Apr 2004
69 Beiträge
 
#1

Delphi-Dll in C++-Anwendung laden

  Alt 26. Aug 2005, 20:57
Hallo,

Ich möchte eine Delphi-Dll in eine meiner C++-Anwendungen laden. Soweit so einfach. Hier ist der DLL Code, bis jetzt nur zum Testen mit einem Rückgabewert(26), später kommen noch die Funktionen dazu:

Delphi-Quellcode:
library Screener;


uses
  ShareMem,
  SysUtils,
  Classes,
  Jpeg,
  Windows,
  Graphics;

{$R *.res}


function Dllfunc: Integer; stdcall;
begin
result := 26;
end;

exports Dllfunc;

begin
end.
Jetzt habe ich die DLL compiliert und rufe sie so aus meinem C++-Programm auf:

Delphi-Quellcode:
typedef int (fnTestd)(); //DLL funktion definieren mit Rückgabewert Integer
   HINSTANCE hi;
   string Dir = "C:\\Screener.dll"; //Pfad zur DLL, vorerst statisch
    hi = ::LoadLibrary(Dir.c_str()); // Liefert gültiges Handle
   fnTestd *pTest; //Zeiger auf DLL Funktion
   pTest = (fnTestd * ) ::GetProcAddress(hi,"Dllfunc"); //Liefert auch gültiges Handle
   
   if(pTest != NULL) //Gültiges Handle bekommen?
   {
      try
      {
         int P =(*pTest) (); //P nach Aufruf == 26
         FreeLibrary(hi); //Nach Aufruf von FreeLibrary unendlich viele Exceptions, 100% Systemlast
      }

      catch(...)
      {
      }

   }
Ich habs mal auskommentiert, damit alle wissen was gemeint ist. Bis FreeLibrary funktioniert alles supi. Die Funktion liefert den Rückgabewert 26. Wenn ich dann FreeLibrary aufrufe gibt es unendlich viele Exceptions nacheinander und das Programm stürzt ab. Weiss jemand was falsch ist??
  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 09: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