AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge high-dpi-patches-for-delphi von Uwe Raabe
Thema durchsuchen
Ansicht
Themen-Optionen

high-dpi-patches-for-delphi von Uwe Raabe

Ein Thema von Pfaffe · begonnen am 6. Jun 2018 · letzter Beitrag vom 26. Nov 2018
Antwort Antwort
Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
695 Beiträge
 
Delphi 12 Athens
 
#1

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 6. Jun 2018, 21:19
Eine kleine "Unschönheit" kann es mit Fremdkomponenten, wie den JVCL geben:

Zitat:
[dcc32 Fataler Fehler] uFMain.pas(21): F2051 Unit JvThemes wurde mit einer unterschiedlichen Version von Vcl.Forms.TCustomForm compiliert
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 6. Jun 2018, 22:27
Eine kleine "Unschönheit" kann es mit Fremdkomponenten, wie den JVCL geben:

Zitat:
[dcc32 Fataler Fehler] uFMain.pas(21): F2051 Unit JvThemes wurde mit einer unterschiedlichen Version von Vcl.Forms.TCustomForm compiliert
Das könnte in der Tat etwas tricky werden. Die Packages in der IDE setzen noch auf der ungepatchten VCL auf, während deine Programme mit den neuen Sourcen compiliert werden müssen. Dazu sind natürlich auch alle Bibliotheken anhand ihrer Sourcen mit zu compilieren.

Wer mit Runtime-Packages compiliert ist leider auch außen vor.

Ich gehe allerdings im Moment davon aus, daß die Änderungen ab Delphi 10.3 integriert sein werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
695 Beiträge
 
Delphi 12 Athens
 
#3

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 6. Jun 2018, 23:06
Ich gehe allerdings im Moment davon aus, daß die Änderungen ab Delphi 10.3 integriert sein werden.
Dies klingt gut und lieben Dank für Deinen Einsatz
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 6. Jun 2018, 23:39
Der nächste Schritt wäre dann der High-DPI Support für VCL Styles. Das erfordert aber eine größere Änderung an der Architektur der Styles. Bei dem SystemStyle liefert Windows (ab einer geeigneten Version) die skalierten Bitmaps. Das müsste bei den VCL Styles dann eben innerhalb der Styles geschehen. Wie das dann im Detail aussehen kann, weiß ich noch nicht. Immerhin bietet der Style-Designer ja schon eine Skalierung um 1.5x, 2x und 3x an.

Bei den SystemStyles habe ich es ja so gelöst, daß jedes Form seine eigene Style-Instanz bekommt, weil das Windows-Handle dann die passenden Style-Ressourcen selektiert. Das könnte man noch etwas sparsamer gestalten, wenn man die verschiedenen Auflösungen cached (Windows lädt alle Ressourcen anhand der DPI der vorhanden Monitore) und diese anhand der Form-DPI selektiert. Wenn man das jetzt etwas weiter führt, könnte jedes Form auch gleich seinen eigenen Style bekommen, womit Multi-Style Anwendungen ermöglicht würden. Extrapoliert auf die IDE könnte man dann auch die Forms gleich im Designer mit dem späteren Runtime-Style bearbeiten und auch mal eben umschalten, um zu sehen ob's noch passt.

Ist halt alles eine Frage der richtigen Architektur. Da ist am Anfang offenbar etwas zu kurz gedacht worden. Jetzt ist der Aufwand für eine Erweiterung (wie jetzt Per-Monitor DPI) relativ aufwändig. Mit einer besseren initialen und vorausschauenden Planung wäre das wesentlich einfacher, schneller und somit deutlich billiger zu realisieren (oder womöglich schon realisiert worden).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 7. Jun 2018, 01:48
Zitat:
Wenn man das jetzt etwas weiter führt, könnte jedes Form auch gleich seinen eigenen Style bekommen
Villa Kunterbunt lässt grüßen.. nein ehrlich was für einen sinn macht das?
Am besten jedes Fenster im Kacheldesign und anderer Farbe warum dann überhaupt noch Fenster.

gruss

Geändert von EWeiss ( 7. Jun 2018 um 01:58 Uhr)
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
857 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 7. Jun 2018, 07:40
@Uwe: Danke für Deine Arbeit! Top!

Wird der Patch in das nächste Delphi-Update eingebaut?

Edit: Sorry, hab den Eintrag oben überlesen, wo steht, dass es in 10.3 eingebaut wird.

Geändert von BlueStarHH ( 7. Jun 2018 um 07:43 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.167 Beiträge
 
Delphi 12 Athens
 
#7

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 7. Jun 2018, 07:51
Hallo Uwe,

dankesehr für das Patch.

Die Aussichten unten sehen ja nicht so rosig aus, ich hoffe mal dass das nächste Update nicht sehr instabil wird, bei den vielen Baustellen (DPI, Android8, XCode9, ...).

Betrifft das ganze eigentlich auch FMX in gleicher Weise ?
Ich dachte das durch die MultiResolution-Bitmaps solche Dinge sanfter abgefangen werden können,
oder ist das nicht der Fall.
Wären evtl. die MultiResolutionBitmaps auch ein Thema für VCL ?
Das sollte doch machbar sein, und es könnte womöglich Einiges von FMX zu VCL portiert werden.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: high-dpi-patches-for-delphi von Uwe Raabe

  Alt 7. Jun 2018, 08:37
Betrifft das ganze eigentlich auch FMX in gleicher Weise ?
Ich dachte das durch die MultiResolution-Bitmaps solche Dinge sanfter abgefangen werden können,
oder ist das nicht der Fall.
Wären evtl. die MultiResolutionBitmaps auch ein Thema für VCL ?
Das sollte doch machbar sein, und es könnte womöglich Einiges von FMX zu VCL portiert werden.
Das lässt sich leider nicht so einfach übernehmen, da die Windwos-Controls in der Regel auf die Windows-eigenen ImageLists angewiesen sind, die wiederum in TCustomImageList abgebildet werden. Mit der DynImageList aus meinem High-DPI Testprogramm habe ich ja schon eine mögliche Lösung geliefert. Die Komponente werde ich demnächst auch noch separat veröffentlichen. Für eine wirklich brauchbare High-DPI Unterstützung wird Embarcadero um eine ähnliche Lösung nicht herum kommen.

Die High-DPI Probleme bei FMX sind naturgemäß anderer Natur und bedürfen einer eigenen Herangehensweise. Da ich da aber aktuell keinen Eigenbedarf habe, steht das nicht gerade weit oben auf meiner Liste.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 04:40 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