Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DLL Problem auf englischem OS (https://www.delphipraxis.net/109445-dll-problem-auf-englischem-os.html)

soulies 2. Mär 2008 00:28

Re: DLL Problem auf englischem OS
 
mein programm und die DLL befinden sich im selben Verzeichnis

ich benutze dann nur noch die schnittstellen unit 'ScanCtrl2.pas'
um die verbindung 'herzustellen' und die fkt. aufzurufen ...

Luckie 2. Mär 2008 00:31

Re: DLL Problem auf englischem OS
 
Zitat:

Zitat von soulies
mein programm und die DLL befinden sich im selben Verzeichnis

Äh ja und? Aber das sagst du LoadLibrary nicht. Ohne Pfadangabe wird im aktuellen Arbeitsverzeichnis gesucht, aber das muss nicht zwinget das Programmverzeichnis sein.

soulies 2. Mär 2008 00:35

Re: DLL Problem auf englischem OS
 
als ich einen absoluten pfad übergeb hab
Delphi-Quellcode:
dllhandle := loadlibrary(pchar('C:\ordner\Scanctrl2.dll'));
kam der selbe fehler

Luckie 2. Mär 2008 00:42

Re: DLL Problem auf englischem OS
 
Den Pfad hard codieren ist fast noch schlimmer. Mit Delphi-Referenz durchsuchenParamStr(0) bekommst du den Pfad zu deiner Anwendung und mit Delphi-Referenz durchsuchenExtractFilepath kannst du den Ordner aus dem Pfad extrahieren.

soulies 2. Mär 2008 00:46

Re: DLL Problem auf englischem OS
 
den pfad fest vorzugeben war nur zum testen ...

mit ExtractFilePath & ParamStr(0) bzw. Application.Exename hatte ich es auch probiert

leider auch ohne erfolg

Luckie 2. Mär 2008 00:51

Re: DLL Problem auf englischem OS
 
Komisch. Prüf doch mal mit Delphi-Referenz durchsuchenFileExists, ob er die Datei findet. Wenn er sie findet, muss er sie auc mit MSDN-Library durchsuchenLoadLibrary laden können.

soulies 2. Mär 2008 00:56

Re: DLL Problem auf englischem OS
 
testen kann ich erst montag wieder - aber dann probier ich es nochmal aus ...

bis hierher vielen dank für ursachenforschung & mgl fehler meinerseits

soulies 3. Mär 2008 13:58

Re: DLL Problem auf englischem OS
 
bei mir ist montag morgen und ich hab zusätzlich

mit FileExists geprüft ob die DLL vorhanden ist --> sie ist es

LoadLibrary funkt trotzdem nicht ...


ich werd mich mal beim hersteller melden...

Muetze1 3. Mär 2008 14:56

Re: DLL Problem auf englischem OS
 
Das bedeutet mit anderen Worten: Die DLL hat statische Abhängigkeiten die nicht aufgelöst werden können. Also sie benötigt eine andere DLL oder findet einen Einsprungspunkt nicht. Dies kannst du genau heraus finden, wenn du den ErrorMode vor dem LoadLibrary() umsetzt, dann meldet dir Windows eine entsprechend detaillierte Meldung, welche DLL bzw. welcher Einsprungspunkt nicht gefunden werden konnte.

Bernhard Geyer 3. Mär 2008 15:00

Re: DLL Problem auf englischem OS
 
Für sowas ist auch DependencyWalker sehr zu empfehlen


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 Uhr.
Seite 2 von 3     12 3      

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