AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Disabled/Excluded Packages

Ein Thema von himitsu · begonnen am 6. Mär 2024 · letzter Beitrag vom 6. Mär 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

Disabled/Excluded Packages

  Alt 6. Mär 2024, 14:36
Moin Moin,

wie ist das eigentlich damit?
>> HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\**.0\Disabled Packages
>> DPROJ : <Excluded_Packages>

Einmal lassen sich ja in der IDE Registrierte Packages deaktivieren (nicht laden, bzw. entladen)
aber auch nochmal in den Projektoptionen (auch wenn nicht offensichtlich ersichtlich, außer z.B. im DIFF der Versionierung (in der *.dproj).

Steht was in der DPROJ, dann wird beim Laden/Entladen von Projekten, bzw. beim Wechsel des aktiven Projekts in einer Projektgruppe jenes ge-/entladen.
Das bereitet gern Probleme, wenn es beim Laden/Entladen zu Fehlern kommt.
Oder wenn wichtige DesignTimePackages nach Ladeproblemen ausversehn in der DPROJ gespeichert werden und dann ab und an "fehlen".


Es fällt auch kauf auf (niemand achtet auf die Titelzeile),
aber Menü > Komponente > Packages installieren regiert unterschiedlich, jenachdem ob ein Projekt geladen oder keine Projekte geladen sind.
* einmal nur Einstellung der IDE
* und das Andere speichert "auch" in den aktiven Projektoptionen



Nur wie ist das nun genau, mit den Optionen?
* kein <Excluded_Packages> vorhanden
* leeres <Excluded_Packages\> vorhanden
* <Excluded_Packages> mit Einträgen vorhanden
* in Registry deaktiviert, aber in <Excluded_Packages> nicht

Bei den mittleren Beiden werden Packages geladen und entladen, zumindestens wenn sich die Optionen der wechselnden Packages unterscheiden.
Aber auch beim Ersten?
Und was ist beim Letzten ... ist das dann eventuell geladen oder nie?




Ob der <Excluded_Packages>-Eintrag in der DPROJ vorhanden ist oder nicht ... kann mich nicht erinnern im Delphi irgendwo eine Option gesehn zu haben.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Mär 2024 um 14:39 Uhr)
  Mit Zitat antworten Zitat
Kas Ob.

Registriert seit: 3. Sep 2023
351 Beiträge
 
#2

AW: Disabled/Excluded Packages

  Alt 6. Mär 2024, 15:28
Not sure if i understand the subject right.

But those entries in dproj were there since many years
Code:
                <Excluded_Packages>
                    <Excluded_Packages Name="
......
These reflect the disabled (not used or not to be used) with this project, the IDE unload these packages when open a project (well it should), while registry entries reflect the disabled packages (not loaded) in the IDE itself.

The whole thing for me looks like an abandoned nice feature to have, they failed to build it, or may be it could cost huge performance degradation with the IDE.

Take an example with one project (aka no projectgroup) it should work by unloading the marked to exclude packages, but with multiple projects in one project group, the IDE should unload these excluded packages (or reload the default) based on the activated project, On my XE8 with one project it does unload then modify the dproj on save, but fail to unload these packages after closing the project then reopening, also if there is two projects then the IDE do load them and doesn't follow of the unloading process per project as will reload them and they will stay there.

So yes some broken and/or abandoned functionality.
By the way i do/did use this disable packages for an opened application so many times, it enhance the responsiveness of the designer based on the project, but alas, the ide doesn't remember to unload later.
Kas
  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
 
#3

AW: Disabled/Excluded Packages

  Alt 6. Mär 2024, 15:36
Packages unter Disabled Packages werden in Packages installieren ohne Check angezeigt und sind erstmal auch nicht geladen. Man kann sie aber sowohl mit als auch ohne aktivem Projekt über diesen Dialog laden. Sie werden dann aus Disabled Packages entfernt. Leider gibt es aktuell keine Möglichkeit, diese Packages wieder dauerhaft zu entladen - also wieder in Disabled Packages aufzunehmen. Die Option, dies ohne aktives Projekt als Vorgabe zu speichern ist im Laufe der Zeit verloren gegangen.

Die Excluded Packages werden bei aktivem Projekt im selben Dialog festgelegt. Beim Öffnen des Projekts werden dann diese Packages gegebenenfalls entladen. Man kann allerdings beim Laden eines Projekts keine Packages aus Disabled Packages laden, weil es dafür im Projekt keine Informationen darüber gibt. Ich persönlich hätte es bevorzugt, wenn man nur ein Mindestmaß an Packages in der IDE hätte und dann per Projekt die dort verwendete Packages nachladen könnte/müsste.

Näheres zu dem Thema kann man auch in meinem Blog nachlesen:
There Can Only Be One!
There Can Only Be One – At a Time!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Disabled/Excluded Packages

  Alt 6. Mär 2024, 16:11
Zitat:
Ich persönlich hätte es bevorzugt, wenn man
Nja, bei Einzelprojekten schon OK, aber wenn, dann würde ich es lieber bei der Projektgruppe speichern, wenn es eine gibt und falls es eine Option in den Projekten gibt, diese dann ignorieren.


Zumindestens bei unserer Projektgruppe ist es eigentlich auch nicht nötig, das jedes Package/DLL/EXE eigene Settings dafür mitbringt.



Problem/Frage ist jetzt,
Wir haben zentral über DisabledPackages so einiges Deaktiviert (richtet der FinalBuilder ein)

Und dann passiert es auch, dass in einzelnen Packages mal ausversehn was "Anderes" hinterlegt wirde, bzw. es nicht aktuell ist, oder eben durch Fehler beim Laden mal deaktiviert und dann gespeichert und committet wurde.



Drum war jetzt die Hoffnung, bzw. ist das Gefühl so, dass ohne diesen Punkt im DPROJ dann auch nichts mehr durch's Projekt gemacht wird.


Aktuell habe ich über DesignTimePackage auch ein Logging in der IDE, welche das Laden/Entladen von DLL (also auch BPL) ins Logfenster schreibt.
(es schreibt leider nicht was geladen wird, sondern geladen wurde, da die WinAPI dafür nur einen nachträglichen Trigger bereitstellt)

Wir hatten es schon mehrmals, dass es z.B. beim Kompilieren knallt und man dann nicht weiß wo es her kommt.
Wird ein Package kompiliert, dann werden alle davon abhängigen Packages entladen und nachher wieder geladen (durch Delphi und/oder Windows)
Und durch das Log sieht man nun was ge-/entladen wird und wenn es knallt, wass das letzte Modul vorher war und in welcher Richtung man schauen kann.

Nett ist auch, dass Delphi den/die Formdesigner beim Kompilieren entlädt.


Im XE ist es z.B. so, dass wenn du ein KomponentenPackage kompilierst, aber eine Form geladen ist, wo davon eine Komponente drauf liegt, dass es dann wunderbar knallte, weil der Komponentn-Instanz ihr Code unter Arsch weggerissen wurde.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Mär 2024 um 16:15 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:06 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