Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Eigene Komponente lässt sich nicht mehr installieren (https://www.delphipraxis.net/193535-eigene-komponente-laesst-sich-nicht-mehr-installieren.html)

sko1 11. Aug 2017 09:31

Eigene Komponente lässt sich nicht mehr installieren
 
Ich entwickle gerade eine eigene Komponente, die sich die letzten Tage problemlos installieren lies.

Heute nun bekomme ich beim Installieren die Meldung
"Package 'C:\Users\Public\Documents\...\BPL\MyComponent.bpl " kann nicht geladen werden.
"Das angegebene Modul wurde nicht gefunden!"

Wenn ich nachschaue, ist die bpl dort vorhanden, nach Speichern unter einem anderen Namen ist dort auch die neue bpl, aber ich bekomme dann obige Meldung mit dem neuen Namen :-(

Was habe ich kaputtgemacht?

Ciao
Stefan

Uwe Raabe 11. Aug 2017 10:10

AW: Eigene Komponente lässt sich nicht mehr installieren
 
Bei dem "angegebenen Modul" kann es sich auch um eine DLL handeln, die von dem MyComponent-Package selbst benötigt wird.

jaenicke 11. Aug 2017 10:20

AW: Eigene Komponente lässt sich nicht mehr installieren
 
Das lässt sich mit dem Process Monitor sehr leicht nachvollziehen was dort wirklich nicht gefunden wird und wo gesucht wird.
(Einfach Filter setzen auf Process name is bds.exe, dann die Meldung stehen lassen, wenn sie kommt und unten schauen was zuletzt passiert ist.)

sko1 11. Aug 2017 10:29

AW: Eigene Komponente lässt sich nicht mehr installieren
 
Ja diese Vermutung hatte ich auch bereits, weil ich in der Komponente DLL-Funktionen nutze.
Da gehört eine DLL dazu, wo muss die liegen (hinkopiert werden)?

Ciao
Stefan

jaenicke 11. Aug 2017 11:01

AW: Eigene Komponente lässt sich nicht mehr installieren
 
In einen Ordner, der im Systempfad liegt. Das sind z.B. das BPL-Verzeichnis oder das Systemverzeichnis von Windows (SysWow64 unter 64-Bit).

Am besten in einen eigenen Pfad dafür, damit du das auch später wiederfindest inkl. Readme. ;-)

sko1 11. Aug 2017 12:59

AW: Eigene Komponente lässt sich nicht mehr installieren
 
Danke, das funktioniert, aber dabei entsteht ein neues Problem:

Ich kann (die DLL im Windows-Verzeichnis ist vorhanden) jetzt die Komponente wieder installieren, aber nicht mehr in die DLL hinein debuggen!

Lösche ich die DLL aus dem Windows-Verzeichnis (dafür muss RAD Studio beendet werden), ist die Komponente dann aus der Komponentenliste verschwunden!

Damit wird das Ganze irgendwie unbrauchbar!
Ich werde jetzt die reine modifizierte Komponente weitergeben, alles zusätzliche muss dann die DLL als "externe DLL" bewirken.

Ciao
Stefan

P.S.
ProcessMonitor war übrigens eine große Hilfe, da konnte man sehen wo der überall nach der DLL gesucht hat!

P.S2
Die Fehlermeldung, dass die bpl nicht vorhanden ist, ist aber mehr als irreführend!

jaenicke 11. Aug 2017 14:05

AW: Eigene Komponente lässt sich nicht mehr installieren
 
Zum Debuggen sollte die Komponente nicht in der IDE installiert sein. Es genügt ja diese manuell zur Laufzeit zu erstellen.

Und die DLL muss zum Debuggen auch nur im Zielverzeichnis des Programms liegen und nicht im Systempfad.

Uwe Raabe 11. Aug 2017 14:08

AW: Eigene Komponente lässt sich nicht mehr installieren
 
Zitat:

Zitat von sko1 (Beitrag 1378598)
Die Fehlermeldung, dass die bpl nicht vorhanden ist, ist aber mehr als irreführend!

Das steht da aber nicht - das interpretierst du nur so. Diese Fehlermeldung kommt z.B. auch, wenn eine reine EXE eine DLL erwartet, diese aber nicht gefunden wurde. Google mal nach der Fehlermeldung: die kommt nicht von Delphi sondern vom OS. Ich finde allerdings auch, daß Windows da etwas deutlicher sein könnte und den Namen der DLL nennt, die es vermisst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 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