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

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
Pfaffe

Registriert seit: 29. Jan 2009
297 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 6. Jun 2018, 07:26
Uwe Raabe hat ein high-dpi-patches-for-delphi veröffentlicht:
https://www.uweraabe.de/Blog/2018/06...es-for-delphi/

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?
  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, 08:48
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:
  1. Die HighDPIPatches.zip in ein leeres Verzeichnis entpacken
  2. Die Datei HighDPI.manifest in ein anderes Verzeichnis verschieben
  3. TortoiseHG installieren (enthält Mercurial, aber hat eine GUI)
  4. Die TortoiseHG Workbench aufrufen
  5. Über das File/Datei-Menü ein New Repository/Neues Projektarchiv in einem Verzeichnis eurer Wahl für die veränderten Sourcen anlegen (Bsp: "C:\MyRepos\DelphiPatched" im weiteren "PatchRepo" genannt)
  6. Wahlweise das gesamte Source-Verzeichnis oder nur den Source\vcl Teil unter Beibehaltung der Struktur von Delphi Tokyo ("c:\Program Files (x86)\Embarcadero\Studio\19.0\") in das PatchRepo kopieren.
  7. In TortoiseHG im View/Anzeige-Menü den Eintrag Commit/Übernehmen auswählen
  8. Falls die Dateiliste leer ist, einmal den Refresh-Button klicken
  9. Alle Dateien markieren (das Häkchen in der Headerzeile)
  10. Im Kommentarfenster einen sinnvollen Text eingeben (z.B. "Original Delphi 10.2.3")
  11. Auf Commit/Übernehmen klicken
  12. Über das Repository/Pojektarchiv-Menu den Eintrag Import Patches (keine Übersetzung) anwählen.
  13. Den Button Browse Directory/Verzeichnis durchsuchen klicken und das oben entpackte HighDPIPatches-Verzeichnis auswählen
  14. Nun sollten die einzelnen Patches in numerischer Reihenfole in der Liste auftauchen
  15. Import/Importieren klicken
  16. Das PatchRepo in den Suchpfad eures Projekts aufnehmen
  17. Die HighDPI.manifest als Benutzerdefiniertes Manifest im Projekt eintragen
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#3

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

  Alt 6. Jun 2018, 14:40
Geht auch ohne die Installation von riesigen Programmpaketen:

1. GNU-Patchtool für Windows (patch.exe) hier runterladen: http://gnuwin32.sourceforge.net/down...ch-bin-zip.php
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:
  • Vcl.ActnMan.pas
  • Vcl.ActnMenus.pas
  • Vcl.CheckLst.pas
  • Vcl.ComCtrls.pas
  • Vcl.Controls.pas
  • Vcl.ExtCtrls.pas
  • Vcl.Forms.pas
  • Vcl.Menus.pas
  • Vcl.ThemedActnCtrls.pas
  • Vcl.Themes.pas
5. Die Patchdateien mit apply_diff anwenden, zB über eine Batchdatei:
  • apply_diff -i DelphiSource_01.patch
  • apply_diff -i DelphiSource_02.patch
  • apply_diff -i DelphiSource_03.patch
  • apply_diff -i DelphiSource_04.patch
  • apply_diff -i DelphiSource_05.patch
  • apply_diff -i DelphiSource_06.patch
  • apply_diff -i DelphiSource_07.patch
  • apply_diff -i DelphiSource_08.patch
  • apply_diff -i DelphiSource_09.patch
  • apply_diff -i DelphiSource_10.patch
  • apply_diff -i DelphiSource_11.patch
  • apply_diff -i DelphiSource_12.patch
  • apply_diff -i DelphiSource_13.patch

Patchen/mergen ist unter Windows wirklich nicht trivial...
Stefan
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#4

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

  Alt 6. Jun 2018, 18:36
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
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

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

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
 
#6

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
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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