![]() |
high-dpi-patches-for-delphi von Uwe Raabe
Uwe Raabe hat ein high-dpi-patches-for-delphi veröffentlicht:
![]() Habe bereits Mercurial installiert, komme aber nicht weiter. Auch andere Tools habe ich ausprobiert, habe aber scheinbar dazu kein Talent. Wie kann ich die DelphiSource_13.patch und die Vcl.ThemedActnCtrls.pas verheiraten? |
AW: high-dpi-patches-for-delphi von Uwe Raabe
OK, hier eine step-by-step Anleitung unter Benutzung von Mercurial. Ich habe mein TortoiseHG auf Englisch eingestellt, da ich so mit den allgemein üblichen Begriffen arbeiten kann und mich nicht immer durch die teils grausigen Übersetzungen ärgern muss. Deswegen verwende ich hier immer beide Versionen:
|
AW: high-dpi-patches-for-delphi von Uwe Raabe
Geht auch ohne die Installation von riesigen Programmpaketen:
1. GNU-Patchtool für Windows (patch.exe) hier runterladen: ![]() 2. Umbenennen in zb "apply_diff.exe" (patch.exe benötigt Admin-Rechte, bei der UAC-Nachfrage gehen aber die Kommandozeilenparameter verloren) 3. In allen *.patch-Dateien die Zeilenumbrüche von LF auf Cr+LF umstellen, zB mit Notepad++ 4. Die zu patchenden VCL-Source-Dateien aus Delphi in den Ordner mit den Patchdateien kopieren:
Patchen/mergen ist unter Windows wirklich nicht trivial... |
AW: high-dpi-patches-for-delphi von Uwe Raabe
wenn eh Freigabe&Kontakt zu Eaba.. warum Listen die nicht diesen VCL-Patch "voll" bei sich auf dem Server und prüfen via Edn-Login ob man ein aktuelles 10.2.3 besitzt?
Es dauert sicher eh nich sehr lang, dan gibt es "für Bequeme" dazu die fertig angepassten VCL PAS Quellen als Archiv "irgendwo" zum Download. Das könnte Emba mit quasi Null Aufwand vermeiden, den die haben ja alles, weil geprüft haben die vor Freigabe den Patch ja;) |
AW: high-dpi-patches-for-delphi von Uwe Raabe
Eine kleine "Unschönheit" kann es mit Fremdkomponenten, wie den JVCL geben:
Zitat:
|
AW: high-dpi-patches-for-delphi von Uwe Raabe
Zitat:
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. |
AW: high-dpi-patches-for-delphi von Uwe Raabe
Zitat:
|
AW: high-dpi-patches-for-delphi von Uwe Raabe
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). |
AW: high-dpi-patches-for-delphi von Uwe Raabe
Zitat:
Am besten jedes Fenster im Kacheldesign und anderer Farbe warum dann überhaupt noch Fenster. gruss |
AW: high-dpi-patches-for-delphi von Uwe Raabe
@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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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