AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

Ein Thema von paule32.jk · begonnen am 11. Sep 2023 · letzter Beitrag vom 14. Sep 2023
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 13:50
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 ?
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 13:54
Wie ich schon in dem anderen Thread geschrieben habe...
momentan liegen meine BPL Dateien zu JVCL in: E:\Projekte\jediRX\jcl\jcl\lib\d22\win32\bpl
Dann musst du diesen Pfad auch dem Systempfad (PATH) hinzufügen. Der Installer (der bei der CE nicht geht) packt diese Dateien in das BPL-Verzeichnis deiner Delphiinstallation, der schon im PATH drin ist.
Das sind im Grunde DLLs und die werden auch entsprechend gesucht.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 16:27
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)
https://learn.microsoft.com/de-de/wi...y-search-order


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)



z.B. die Compiler-Schalter in der DPK kommen aus der DPROJ, allerdings schwachsinnig die Variante der Basis-Config (wie um Himmels Willen soll der Dreck mit dem IMPLICITBUILDING funktionieren, wenn die falsche Config und falsche sonstige Projektoptionen, wie z.B. Ausgabepfade, verwendet werden)
Und dann noch den Quatsch mit ImpliciteBuilding, weil dort wird nur die DPK benutzt (nicht die DPROJ), wo dann die falsche Config (Basis und nicht das Aktive, wie z.B. Release oder Debug) in der DPR steht,
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. https://quality.embarcadero.com/browse/RSP-10321
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (11. Sep 2023 um 16:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 17:02
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.
Zum Kompilieren werden die BPL-Dateien gar nicht benötigt, sondern eher die DCP-Dateien. Eine Ergänzung der PATH-Variable zu den BPLs wird daher vermutlich nicht viel bringen.

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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 19:00
@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
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet

Geändert von paule32.jk (11. Sep 2023 um 19:06 Uhr) Grund: Problembeschreibung hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 19:05
Ein Package als Runtime markieren (Projektoptionen)
oder auch explizit als DesignTime.


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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 19:42
ich bekommes es nicht hin.
- habe den PATH erweitert, mit den des DCP, und BPL.
- das Delphi mit Admin Rechte gestartet, selbes Verhalten:

Code:
[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
JclBaseExtern läßt sich aber übersetzen, und die DCP sowie die BPL existieren
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet

Geändert von paule32.jk (11. Sep 2023 um 19:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 11. Sep 2023, 20:06
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (11. Sep 2023 um 20:10 Uhr)
  Mit Zitat antworten Zitat
Stolle58

Registriert seit: 4. Aug 2023
Ort: Frankfurt
20 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 12. Sep 2023, 11:47
Hallo Paule32,
wo hast Du die Jedi's den her.
Reinhold
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Delphi 11 (28) - Suchpfad für BPL Dateien ... wie einstellen ?

  Alt 13. Sep 2023, 00:47
@stolle:

die kannst Du auf meinen github account saugen
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 17:41 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