AGB  ·  Datenschutz  ·  Impressum  







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

dxGDIPlusClasses überall in uses injiziert

Ein Thema von TurboMagic · begonnen am 15. Mai 2020 · letzter Beitrag vom 15. Mai 2020
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: dxGDIPlusClasses überall in uses injiziert

  Alt 15. Mai 2020, 11:07
Ja, DevExpress, da werden öfters Units eingebunden, wenn man ein Formular bearbeitet. (Units der Skins, GridFilter, GraphicZeugs, ...)
Viele davon sind garnicht "direkt" nötig, aber wird irgendwas aus der Unit als Subkomponente "eventuell" verwendet oder es könnte sein, dass es verwendet würde ... blubb isses drin.

immer wiederkehrendes Problemchen:
https://supportcenter.devexpress.com...nents-are-used
https://supportcenter.devexpress.com...or-units-used/
...

Es gibt da irgendein Package, wo der meiste Code für dieses automatische Einfügen drin ist (weiß grad nicht mehr welches es war), aber wenn dein Kollege das in seiner IDE deinstalliert/deaktiviert, dann passiert sowas fast nicht mehr. (der Support von DevExpress kann ihm da eventuell helfen)




Vermutlich kannst diesen Eintrag ohne Probleme aus den Uses entfernen.

Ich vermute mal, du hast sonst keine weiteren cx/dx-Units im Uses, wenn bei dir DevExpress nicht installiert ist?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Mai 2020 um 11:13 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.602 Beiträge
 
Delphi 7 Professional
 
#2

AW: dxGDIPlusClasses überall in uses injiziert

  Alt 15. Mai 2020, 11:28
Auch wenn ich nix vom oben genannten nutze:

Mein Vorgehen unter Delphi 7 ist:

In einem Projekt sind in der IDE nur die Packages aktiv, die ich für dieses Projekt benötige.

Wenn der Kollege mit DevExpress also vor der Bearbeitung Deines Projektes in seiner IDE alles von DevExpress deaktiviert, sollte das Problem nicht mehr auftreten. (Bei Delphi 7 muss man dann halt unter "Komponenten/Packages installieren" halt ein paar Häkchen wegmachen.)

Wenn er dann eines seiner Projekte nutzt, muss er halt die Packages von DevExpress aktivieren.

Das dürfte insgesammt dann weniger Aufwand sein, als ein Diff vorm Commit, Unit-Alias, der vergessen werden könnte oder sonstige "Krücken", um irgendwie an dem Problem vorbeizukommen.

Ob's bei aktuellen Delphis auch so einfach ist, wie in meinem ollen Delphi 7, weiß ich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: dxGDIPlusClasses überall in uses injiziert

  Alt 15. Mai 2020, 12:00
Nja, das "Package Installieren"-Fenster hat eine geheime Funktion.
  • machst du das, während ein Projekt geladen ist, dann werden die deaktivierten Packages im Projekt (DPROJ) gespeichert
  • machs es, während kein Projekt geladen ist, dann wird es in der Registry gespeichert
  • Es gibt aber unten auch noch den Haken "als Standard für neue Projekte",
    da sollte es auch in der Registry landen (und vielleicht nicht zusätzlich im geöffneten Projekt gespeichert)
Zumindestens ist es in XE noch so, aber vermutlich wurde das nicht geändert (in neueren Delphis noch nicht dazu gekommen es machen zu wollen).


Aber wenn TurboMagic das Projekt dann speichert, dann könnte es sein, dass diese Einstellung wieder aus der DPROJ rausfliegt, weil sein Delphi diese Packages nicht kennt und sie somit nicht deaktivieren kann.

Wenn man das Projekt wechselt/lädt, soger rechts in einer Projektgruppe, dann werden diese Packages jeweils (de)aktiviert.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

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

AW: dxGDIPlusClasses überall in uses injiziert

  Alt 15. Mai 2020, 12:05
Es gibt aber unten auch noch den Haken "als Standard für neue Projekte",
Den gibt es schon eine ganze Weile nicht mehr. Bleibt also nur die Möglichkeit, dies ohne geöffnetes Projekt einzustellen.

Projekt-bezogene Design-Packages sind sowieso eine Wissenschaft für sich.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: dxGDIPlusClasses überall in uses injiziert

  Alt 15. Mai 2020, 12:33
Ich hab jetzt hier nicht alles gelesen aber soweit mir bekannt ist, kommt das ganze noch aus Zeiten wo die IDE nativ noch keine PNG Images unterstütze. Devexpress hat dann seinerseits was eigenes gebastelt und sind dabei geblieben. Sprich sobald es um Images geht (png, jpeg usw. wird die Unit sofern man die Devexpress Komponenten benutzt automatisch eingebunden.)

Lt. Devexpress kann man dies unterbinden in dem man die Datei <DevExpressInstallationFolder>\ExpressCore Library\Sources\cxVer.inc editiert. Die Vorgehensweise wäre:

//{$DEFINE DXREGISTERPNGIMAGE} Save the file and run our <DevExpressInstallationFolder>\Setup\Setup.exe file in Recompile (not Repair) mode.


Solltte dies nicht gehen dann:

Comment out {$DEFINE DXREGISTERPNGIMAGE} in the dxGDIPlusClasses unit

Run our VCL Product Setup in Recompile mode.

Nachträglich ohne komplettes recompile der Suite wirds wohl nicht so einfach gehen. Wichtig ist vorher wirklich alles von Devexpress zu entfernen sonst scheint es Probleme zu geben bzw. funktioniert die Methode.nicht.

Zum restlosen entfernen wäre hier die entsprechende Info wohl hilfreich.
  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 17:01 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-2025 by Thomas Breitkreuz