Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Delphi ... so vergesslich :-(

  Alt 20. Sep 2020, 02:58
Nja, da bei uns der FinalBuilder grundlegend alles compiliert, auch einige der Fremdkomponenten, hab ich dort auch jeweils eine Liste gefüllt, welche am Ende durchlaufen werden kann und über die alle Packages registriert werden.
Ist zwar als Erstinstallation oder Update nach Änderung gedacht.

Mit sowas könntest du das immer schnell beheben.




in HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\20.0\Known Packages
stehen alle registrierten Packages
in HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\20.0\Disabled Packages
stehen die deaktivierten, welche dann doch nicht geladen werden

in HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\20.0\Known IDE Packages
findet man noch ein paar Packages, welche zuerst geladen werden

in HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\20.0\Package Cache
stünden die jeweiligen Komponenten-Paletten (aber fehlt das dort, wird es beim Start neu erzeugt)

und in HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\20.0\Experts
stehen noch die Helfer-DLLs ala CnPack, welche ebenfalls als Erste geladen werden, vor den Known Packages


Sooooo, also dort kannst du erstmal nachsehn, ob deine Packages in Known Packages, aber nicht in Disabled Packages auftauchen.
Letzteres kommt dort rein, wenn es beim Start knallt und du auf die Frage "Soll weiterhin geladen werden?" mit Nein antwortest.
Die von mir verwalteten Packages schmeit unser FinalBuilder immer wieder raus.
Man könnte auch einfach den Disaled-Pfad komplett leer machen, aber bei uns stehen z.B. die Office2K/XP-Packages da drin und sollen dort bleiben.

Denn öffne ich die IDE mit einer Projektgruppe, dann ist es einfacher/schneller schneller einmal Nein zu sagen, als für jedes Package bei jedem Projekt der Projektgruppe das immer wieder mit "Ja" zu bestätigen.
So kann ich auch nach Problemen die IDE nutzen, um den Fehler zu suchen.

Du könntest also mit dem Registry-Editor dieses Verzeichnisse exportieren und bräuchtest dann nur noch die REG-Datei einspielen, wenn es Probleme gibt.
Mein FinalBuilder-Projekt kennt alle unsere Packages und kann dadurch ebenfalls in diesen Verzeichnissen die Einträge erstellen und Alte/Falsche/Doppelte entfernen, bzw. wirft eine Warnung, wenn in HKEY_LOCAL_MACHINE dort etwas steht.




Du könntest aber auch so "krank" arbeiten, wie DevExpresss, und deine installierten Packages auch in
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Embarcadero\BDS\20.0\Known Packages
eintragen, denn die Delphi-IDE kopiert beim Start diesen Pfad immer.
Das ist z.B. dafür gedacht wenn du die IDE mit einer leeren Registry startes, z.B. auf einem Mehrbenutzer-PC/Server
oder wenn der Admin, NUR in seinem Konto eine Komponente neu installiert/updatet, damit das dann alle Benutzer bekommen.

Bei uns war das nervig, da wir alle Fremdkomponenten in unserem Repository haben und in ein eigenes BPL-Verzeichnis kompilieren,
wo das Ergibnis dann aber ist, dass am Ende die Packages doppelt registriert sind (zwei Verzeichnisse) und es knallt, wenn es nicht die selben Versionen sind und die Packages gemischt aus den Verzeichnissen geladen werden.
Eigentlich werden vom FinalBuilder alle "unsere" Packages registriert und gleichnamige BPLs aus fremden Verzeichnissen entfernt, aber wenn die IDE dann "immer wieder" aus diesem Verzeichnis nachlädt, dann ist das echt blöd. (hatte damals lange nach diesem Fehler gesucht)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Sep 2020 um 03:04 Uhr)
  Mit Zitat antworten Zitat