![]() |
Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Hallo,
immer wieder habe ich das Problem, das kompilierte BPL Dateien, die ggf. auch schon registriert sind, von Delphi nicht gefunden werden können, wenn ein anderes BPL-Projekt übersetzt werden soll. Kann man da was einstellen ? wenn ja, wo ? |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Wie ich schon in dem anderen Thread geschrieben habe...
Zitat:
|
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Ja, alle Packages müssen im Suchpfad (PATH) stehen,
denn wenn ein Package ein Anderes läd, dann über den Suchpfad (denn den Eintrag mit Pfad in der Registry, kennt das dort nicht. So in "Known Packages" registriert C:\Pfad\Package1.bpl C:\Pfad\Package2.bpl Wobei Package2 das Package1 in seinen Requires drin hat (also als DLL-Import, wie bei einer DLL) Wird erst Packages1 und dann Package2 geladen, ist alles OK, aber wird zuerst Package2 geladen, dann versucht Windows Package1 zu laden, aber wenn es Dieses nicht in den DLL-Suchpfaden findet, dann knallt es. (Besonders schön auch, dass Delphi dann sagt "Package2 wurde nicht gefunden", obwohl Windows meint Package1 sei das Problem) ![]() Umgebungsvariablen: Es kann das in dem %PATH% vom System sein (SystemVariables), im %PATH% vom WindowsBenutzer (UserVariables) oder das %PATH% im Delphi (Tools > Optionen > IDE > Umgebungsvariablen) Zitat:
sowie auch eingestellte Ausgabepfade fehlen, die aus den Projektoptionen des impliziten Packages. Wobei es dafür seit Jahren einen offenen Bugreport bei Emba gibt, denn sie bräuchten einfach nur vorm/beim Laden der Packages alle Pfade der registrierten Packages (zumindestens Jene, welche nicht in %PATH% stehen, als DLL-Suchpfad beim Windows registrieren. (temporär, während der Abarbeitung der Liste, oder einfach permanent) Hätte also schon seit knapp einem Jahrzehnt behoben sein können. ![]() |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Zitat:
Man macht sich das Leben einfacher, wenn man bei DCP-Ausgabeverzeichnis und Package-Ausgabeverzeichnis einfach gar nichts angibt. Dann landen die beiden Dateien in den Standardpfaden der gerade verwendeten Delphi und werden in der Regel auch gefunden. Für den Fall dass die Anwendung mit Laufzeit-Packages erstellt wird (was aus deinen Ausführungen erstmal nicht zu entnehmen ist), müssen die BPLs natürlich mit ausgeliefert werden und sollten am besten direkt im selben Verzeichnis wie die Exe liegen. |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
@Uwe:
es handelt sich um JEDI, bei denen in der VCL Version Laufzeit, wie auch Design-Time Packages handelt. Leider kann ich kein GetIt installieren, weil dort Nichts angeboten wird, und den Umweg von kompilieren per Hand gehen muss. Ich habe auch festgestellt, das Delphi gerne mal Laufzeit und Design Packages mischt, und automatisch hinzufügt, und man keine Möglichkeit hat, dies zu unterbinden. Es wird dann ein OK-Button angeboten, der dann stupiderweise, ich weiß nicht woher es die Informationen nimmt, Packages nachschiebt. Und der Cancel-Button einfach das Info-Fenster schließt. Kann man ja in manchen Thread's lesen, das dann aufwendig die Packages in Design und Runtime umgebastelt werden müssen ... Aber das mit den PATH werde ich nochmals prüfen ... @himitsu: Ich sehe gerade wieder 4 Probleme: PATH gibt es nur einmal: - PATH für 32-Bit Debug - PATH für 64-Bit Debug - PATH für 32-Bit Release - PATH für 64-Bit Release |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Ein Package als Runtime markieren (Projektoptionen)
oder auch explizit als DesignTime. :roll: Die Jedi waren mal im GetIt der CE drin, aber da Jedi das GetIt bloß als Downloader nutzt und dann ein eigenes Setup startet, welches den Kommandozeilen Compiler (dcc32.exe / dcc64.exe) aufrufen will, was aber in der CE nicht geht ... ja, da war es besser, das aus GetIt zu verbannen, wenn es "so" eh nicht funktioniert. |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
ich bekommes es nicht hin.
- habe den PATH erweitert, mit den des DCP, und BPL. - das Delphi mit Admin Rechte gestartet, selbes Verhalten:
Code:
JclBaseExtern läßt sich aber übersetzen, und die DCP sowie die BPL existieren
[dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclIniFiles' wurde implizit in Package 'JclBaseExpert' importiert
[dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclResources' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclDevToolsResources' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclHelpUtils' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclMsBuild' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclCompilerUtils' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclTD32' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclPeImage' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclConsole' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclWideStrings' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclRegistry' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclSecurity' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclDateTime' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclFileUtils' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclLogic' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclStringConversions' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclCharsets' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'Jcl8087' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclStreams' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclWin32' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclSynch' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclUnitVersioningProviders' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclUnitVersioning' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclIDEUtils' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclDotNet' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclSimpleXml' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclDebug' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclHookExcept' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclSysUtils' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclStrings' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclUnicode' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclSysInfo' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclShell' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'Snmp' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclAnsiStrings' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclMath' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Warnung] JclBaseExpert.dpk(63): W1033 Die Unit 'JclBase' wurde implizit in Package 'JclBaseExpert' importiert [dcc32 Fataler Fehler] JclStackTraceViewerExpert.dpk(42): E2202 Package 'JclBaseExpert' wird benötigt, konnte aber nicht gefunden werden Misslungen Verstrichene Zeit: 00:00:00.8 |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Die Fehlermeldungen sagen doch alles?
Einmal, weil du die REQUIRES vergessen hast. Und die JclBaseExpert.dcp nicht in den Compilersuchpfaden gefunden wurde. REQUIRES in Packages (DPK) und LaufzeitPackages in ProjektOptionen von DLL oder EXE werden immer genommen. Wird die DCP nicht gefunden, dann knallt es mit "Package nicht gefunden". Angegebene DCP müssen über den Suchpfad in IDE oder Projektoptionen gefunden werden können. BPL-Suchpfade gehören für eines der PATH für die IDE, zum Laden der Packages. DU hast aber Units in dein Package eingebunden, welche in ein anderes Package gehören. Units müssen "namentlich" global in der gesamten IDE-Instanz eindeutig sein. Also selbst wenn du es kompilieren könntest, würde es dann beim Versuch das in der IDE zu laden sowieso knallen. DU musst also dein Package so kompilieren, dass es die andere BPL benutzt, anstatt selbst diese Units einzukompilieren. Implizit heißt, dass diese Unit nicht "explizit" zum Projekt gehören (also in DPR/DPK nicht explizit via IN im USES eingetragen sind, sondern sie "implizit" irgendwo in DPR/DPK/PAS in irgendeinem USES bloß genannt wurde und eventuell über Suchpfade gefunden wurde) |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Hallo Paule32,
wo hast Du die Jedi's den her. |
AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
@stolle:
die kannst Du auf meinen github account saugen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr. |
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 by Thomas Breitkreuz