AGB  ·  Datenschutz  ·  Impressum  







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

DLL wird nicht geladen

Ein Thema von Moony · begonnen am 23. Jun 2009 · letzter Beitrag vom 23. Jun 2009
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

DLL wird nicht geladen

  Alt 23. Jun 2009, 16:12
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
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: DLL wird nicht geladen

  Alt 23. Jun 2009, 16:14
Und wenn Du explizit einen PAnsiChar übergibst?HND := LoadLibrary(PAnsiChar(ExtractFilePath(Application.ExeName) + MODPPENC));
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#3

Re: DLL wird nicht geladen

  Alt 23. Jun 2009, 16:16
Dan gibts einen Fehler mit inkompatible Typen AnsiChar und Char
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: DLL wird nicht geladen

  Alt 23. Jun 2009, 16:28
Die DLL im richtigen Verzeichnis ?
Wird die DLL per FileExists() gefunden ?
Stimmt der Path ?
ShowMessage(ExtractFilePath(Application.ExeName) + MODPPENC); Nicht das ein Backslash fehlt etc.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#5

Re: DLL wird nicht geladen

  Alt 23. Jun 2009, 16:30
Habe ich auch schon alles überprüft. Ist alles richtig angegeben.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#6

Re: DLL wird nicht geladen

  Alt 23. Jun 2009, 16:36
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....

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: DLL wird nicht geladen

  Alt 23. Jun 2009, 16:52
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:22 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