AGB  ·  Datenschutz  ·  Impressum  







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

libcurl.dll

Offene Frage von "Humbucker"
Ein Thema von Humbucker · begonnen am 13. Apr 2023 · letzter Beitrag vom 13. Apr 2023
Antwort Antwort
Humbucker

Registriert seit: 8. Feb 2013
Ort: im Lahntal
35 Beiträge
 
Delphi 10.4 Sydney
 
#1

libcurl.dll

  Alt 13. Apr 2023, 19:21
Hallo,

ich habe ein Problem bei der Distribution unserer Software als 64 Bit Anwendung (in der 32 Bit Version tritt das Problem nicht auf). Es handelt sich um eine VCL-Anwendung für Windows. Der Test erfolgte auf Windows 10 in einer virtuellen Testumgebung. Als Installer wird InstallShield Express verwendet und es werden die COM Informationen der Datei libcurl.dll ausgelesen. Es wird eine Manifestdatei mit dem Namen LibCurl64.DllA.manifest mit vom Installer erzeugt und installiert.

Vorweg sei gesagt, dass sich die Anwendung in der IDE problemlos starten und ausführen lässt. Wenn die Software als 64 Bit Anwendung gepackt und auf einem anderen Rechner installiert wird, erscheint (ohne libcurl.dll) eine Fehlermeldung: "Cannot find import. DLL may be missing, corrupt, or wrong version - File: libcurl.dll - error 126". Wird nun die aktuelle Version der libcurl.dll (Version 8.0.1.0 vom curl.se) in das Programmverzeichnis kopiert, dann erscheint zwar die Fehlermeldung nicht mehr, aber die Software startet nicht (es passiert einfach nichts und auch das eingebundene CodeSite startet nicht).

Ich habe beim Starten der Software in der IDE die Thread-Meldungen für die 32-Bit Version und die 64-Bit Version verglichen und tatsächlich wird in der 64-Bit Version die Datei libcurl.dll geladen; in der 32 Bit Version passiert das nicht. Im Quellcode ist kein Aufruf der libcurl.dll vorhanden - möglicherweise kommt die Einbindung aus einer Fremdkomponente. Ich kann die Datei libcurl.dll zwar auf dem Entwicklungsrechner finden, aber keines der Verzeichnisse hat eine Bezug zu Delphi oder dem RAD Studio. Im Internet finde ich auch keine Information über eine Verbindung zwischen Delphi 64-Bit und libcurl.dll

Hat jemand eine Idee was das Problem ist und wie ich es lösen kann? Vielen Dank für eure Unterstützung.

Gruß Michael
Michael H.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: libcurl.dll

  Alt 13. Apr 2023, 19:38
In der Ereignisanzeige wird auch nichts angezeigt?

Hast irgendeine Updaterkomponente im Programm?

Und du bist dir sicher, dass du auch die 64-Bit-Version der libcurl.dll benutzt?




Die libcurl wird wohl für irgendwelches Upload-/Download-/Datenübertragungszeugs verwendet.
https://curl.se/libcurl/
Halt sowas, wie das Konsolenprogramm curl macht.

GIT benutzt die z.B. (dessen 64-Bit-Version heißt aber libcurl-4.dll)
Und auch ein ODBC-Treiber des MS Office (libcurl.dll mit einem libcurl64.dlla.manifest)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: libcurl.dll

  Alt 13. Apr 2023, 19:44
Kann man nicht mit Tools wie "Dependency Walker" herausfinden, über welche Verbindung nach der Dll verlangt wird? Dann würde man wohl immerhin sehen können, ob es z.B. eine Dll ist, die wiederrum diese dll möchte...
  Mit Zitat antworten Zitat
Humbucker

Registriert seit: 8. Feb 2013
Ort: im Lahntal
35 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: libcurl.dll

  Alt 13. Apr 2023, 20:28
Hallo Himitsu,

danke für deine Antwort:
1. Ja, es gibt einen Updater im Quellcode (tms WebUpdate). Dieser wird jedoch unabhängig von der Kompilierung verwendet; also sowohl in 32Bit wie auch in 64Bit.
2. Ich habe beide Versionen von libcurl.dll getestet (die 64Bit libcurl-x64 habe ich umbenannt). Bei beiden Dateiversionen das gleiche Ergebnis - kein Programmstart.
3. Was libcurl.dll macht, weis ich zwischenzeitlich, aber ich verstehe nicht warum es nur bei 64Bit gebraucht wird.

Hallo Günther,

danke für den Tip. Ich versuche mal Dependency Walker irgendwie zu bekommen - mal schauen was da raus kommt.

Viele Grüße von der Lahn
Michael
Michael H.
  Mit Zitat antworten Zitat
Humbucker

Registriert seit: 8. Feb 2013
Ort: im Lahntal
35 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: libcurl.dll

  Alt 13. Apr 2023, 20:47
Kann man nicht mit Tools wie "Dependency Walker" herausfinden, über welche Verbindung nach der Dll verlangt wird? Dann würde man wohl immerhin sehen können, ob es z.B. eine Dll ist, die wiederrum diese dll möchte...
Das war ein sehr wertvoller Tipp.

Ich habe die Abhängigkeit gefunden. Es ist tatsächlich eine externe DLL, die libcurl.dll aufruft. Da es sich um eine ältere DLL handelt, nehme ich mal an, dass es auch eine ältere Version von libcurl.dll braucht.

Vielen Dank und schönen Abend noch
Michael
Michael H.
  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:15 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