Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DLL wird nicht geladen (https://www.delphipraxis.net/136101-dll-wird-nicht-geladen.html)

Moony 23. Jun 2009 15:12


DLL wird nicht geladen
 
Hallo zusammen,

versuche eine simple DLL dynamisch zu laden, was ja im Normalfall kein Problem ist, aber irgendwie wird diese nicht geladen. Ich verwende wie sonst auch immer folgendes:

Delphi-Quellcode:
HND := LoadLibrary(PChar(ExtractFilePath(Application.ExeName) + MODPPENC));

if HND <> 0 then
begin
  Result := HND;

  @_MyFunc := GetProcAddress(HND, PChar('MyFuncName'));
end;
Aber irgendwie meint Delphi 2009 im Gegensatz zu Delphi 7:
1. jetzt bei dieser Funktion einen PWideChar statt PAnsiChar zu erwarten
und
2. die DLL nicht zu laden, sprich der Rückgabewert = 0.

Brauche Hilfe!!!!


Danke & Gruß, Moony

DeddyH 23. Jun 2009 15:14

Re: DLL wird nicht geladen
 
Und wenn Du explizit einen PAnsiChar übergibst?
Delphi-Quellcode:
HND := LoadLibrary(PAnsiChar(ExtractFilePath(Application.ExeName) + MODPPENC));

Moony 23. Jun 2009 15:16

Re: DLL wird nicht geladen
 
Dan gibts einen Fehler mit inkompatible Typen AnsiChar und Char

turboPASCAL 23. Jun 2009 15:28

Re: DLL wird nicht geladen
 
Die DLL im richtigen Verzeichnis ?
Wird die DLL per FileExists() gefunden ?
Stimmt der Path ?
Delphi-Quellcode:
ShowMessage(ExtractFilePath(Application.ExeName) + MODPPENC);
Nicht das ein Backslash fehlt etc.

Moony 23. Jun 2009 15:30

Re: DLL wird nicht geladen
 
Habe ich auch schon alles überprüft. Ist alles richtig angegeben.

Moony 23. Jun 2009 15:36

Re: DLL wird nicht geladen
 
Habe das Problem gefunnden:

die DLL, die ich laden will, benötigt eine andere DLL, die nicht in meinem Applikationsverzeichnis war. Habe das nämlich mit Delphi 7 kurz versucht zu laden. Dort habe ich die Message bekommen, dass eine bestimmte DLL fehlte. Wäre schön wenn der Delphi 2009 auch machen würde und nicht einfach stillschweigend eine 0 zurückliefert.... :wall:

Gruß, Moony

himitsu 23. Jun 2009 15:52

Re: DLL wird nicht geladen
 
Ansonsten sollte es so stimmen, da nicht explizit ein Stringtyp verwendet wurde, sondern alles durchweg mit String und PChar, weswegen Delphi2009 hier alles als Unicode und die Vorgänger alles als Ansi umsetzen sollten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz