[gelost]WindowsDLL mit BCB1
-
Ich erstelle ordnungsgemäss mit BCB1 eine DLL für eine Windows-Anwendung in einem eigenen Ordner c:\xxxx\dll. Alle Dinge sind korrekt einschliesslich der Erstellung einer Importbibliothek mit implib xxxx.lib xxxx.dll im Projektordner der Anwendung c:\xxxx. Die Anwendung läuft sauber solange die DLL in ihrem eigenen Projektordner vorhanden bleibt. Wenn nicht gibt es den Fehler "xxxx.dll" nicht gefunden. Für Testzwecke ist das nicht tragisch und fiel auch nicht auf. Doch ich möchte die fertige Anwendung mit der DLL weitergeben und dort knallt es dann, weil auch dort die DLL nicht gefunden wird. Der ursprüngliche Pfad der DLL muss beim Linken der Anwendung verschwinden. Wie kann ich das Problem lösen?
Edit: Erst impdef, dann implib einsetzen und es geht korrekt auch mit dem Oldie-Compiler BCB1. Für die fehlende Einstellung "Importbibliothek erstellen" integrieert man unter Tools eine Batchdatei.
-
Verzeichnisse, in denen nach DLLs gesucht wird
Hilft dir das weiter?
-
Hallo
Klingt so als ob du irgendwo in deinem Anwendungsprojekt deine DLL mit absoluter Pfadangabe ansprichst. Verwende nur den Namen deiner DLL, nicht irgendwelche Pfade. Dann sucht Windows selber im System-Order und im Laufzeit-Ordner nach der DLL.
bis bald
Stefan
-
BCB1? ohje ...
Gibt es da unter den Projekteinstellungen Deines DLL Projekts schon die Option "LIB erstellen"? Dann aktivieren, das spart das extra implib.
Dann versuch mal die DLL nicht als Debug sondern Release zu compilieren... eventuell speichert implib deswegen den kompletten Pfad in der Lib.
-
BCB1 ohje!
Es gibt in der IDE von BCB1 keine Einstellung zum Erzeugen einer Importbibliothek, also ist implib erforderlich. Release ist eingestellt, der Pfad bleibt. Stelle die Anwendung zunächst zurück ohne die DLL, dann läuft es wie gewünscht auch mit der Weitergabe der Anwendung.Für die DLL suche ich mir etwas anderes. Jedenfalls Danke für eure Hilfen.