![]() |
Hochauflösende Bildschirme
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo liebe Delphianer,
ich habe ein riesen Problem mit der Bildschirmauflösung und Schriften > 100%. Ich musste meinen Rechner neu installieren und habe dann mein Projekt geöffnet. Habe ein Update beim Kunden gemacht der einen Mac mit Paralleles hat. Ich habe an den Projekteinstellungen nichts verändert und nun kann er das Programm nicht mehr nutzen siehe Grafiken (siehe Anhang) Auflösung beim Kunden 2241 x 1280, 125 % Schrift. Ich habe schon alles mögliche mit den Projekteinstellungen (Hochauflösung aktivieren und bei den Forms scaled auf True gesetzt.) Aber nichts funktioniert. Hat jeman noch ein Lösungsansatz, denn vorher also vor Neuinstallation funktionierte alles reibungslos. Bitte um Hilfe. Danke. |
AW: Hochauflösende Bildschirme
Stimmen die Einstellungen im Manifest?
DPIAware
Code:
gruss
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>True</dpiAware> </asmv3:windowsSettings> </asmv3:application> |
AW: Hochauflösende Bildschirme
Ohje, das sieht übel aus. Wie hast du deine Anwendung vorher entwickelt? Mit 96 DPI (100%) und nun hast deinen neuen PC auf was anderes eingestellt oder nutzt du nachwievor 100% (96 DPI), also Standard? Welche Delphiversion? Ist DPIAware in den Anwendungsoptionen DPIAware ein/aus? Wie sieht es aus, wenn der Kunde auf 100% stellt?
|
AW: Hochauflösende Bildschirme
wo finde ich Manifest?
|
AW: Hochauflösende Bildschirme
Hallo Rolf,
ist der gleiche Rechner wie vorher, nur neu installiert. Schrift 100% beim Kunden funktioniert, nur nicht mehr lesbar, zu klein. Bei mir 100 % 96 dpi. (Standard) |
AW: Hochauflösende Bildschirme
Zitat:
Siehe Anhange. Manifest Hochauflösung aktivieren. gruss |
AW: Hochauflösende Bildschirme
Liste der Anhänge anzeigen (Anzahl: 1)
Ist bei mir so eingestellt.
|
AW: Hochauflösende Bildschirme
Dann nimm doch mal den Haken bei Hochauflösung aktivieren weg. Wie sieht es dann aus?
|
AW: Hochauflösende Bildschirme
Hallo Uwe, habe ich gemacht, sieht genauso so Sch... aus.
|
AW: Hochauflösende Bildschirme
wo gebe ich denn den Code DPIAware ein?
|
AW: Hochauflösende Bildschirme
Zitat:
Und das Manifest in die EXE kompiliert wird. Verwende ![]() gruss |
AW: Hochauflösende Bildschirme
Hallo Walter Landwehr, könntest Du den ersten Screenshot jetzt löschen? Da scheint mir eine Datenschutzproblem vorzuliegen.
|
AW: Hochauflösende Bildschirme
Das steht bei mir im Manifest.
Delphi-Quellcode:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>True/PM</dpiAware> </asmv3:windowsSettings> </asmv3:application> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!--The ID below indicates app support for Windows Vista --> <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!--The ID below indicates app support for Windows 7 --> <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> <!--The ID below indicates app support for Windows 8 --> <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> <!--The ID below indicates app support for Windows 8.1 --> <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <!--The ID below indicates app support for Windows 10 --> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> </application> </compatibility> </assembly> |
AW: Hochauflösende Bildschirme
Zitat:
![]() |
AW: Hochauflösende Bildschirme
Hmm laut dem Manifest scheint es aktiviert zu sein.
Zitat:
Und es von Hand auf false setzen. gruss |
AW: Hochauflösende Bildschirme
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Uwe, habe alle Einstellungen durchprobiert. Es geht einfach nicht. Ich Frage mich nur warum es vorher ging, ich habe ja an den Projekteinstellungen nichts verändert.
oder fehlt mir da eventuell ein Patch für Delphi 10.1? |
AW: Hochauflösende Bildschirme
Ich habe jetzt mal das manifest mit einer älteren exe verglichen, die ist völlig identisch mit der neuen exe.
|
AW: Hochauflösende Bildschirme
Mach doch mal eine neue, simple VCL-Anwendung und probier aus, ob das geht. Dann nach und nach die verschiedenen Control-Typen hinzufügen, die du in deiner Anwendung verwendest.
|
AW: Hochauflösende Bildschirme
Hallo Uwe, das geht nicht, da ich keinen 4K Monitor habe, ich bin da immer auf die Kunden angewiesen und die nervt jetzt schon das ich dauernd störe. Die Anwendung ist auch recht groß, die ist schon mit Delphi 1 angefangen worden. Ich würde Wochen (Monate) brauchen um das nachzuvollziehen.
|
AW: Hochauflösende Bildschirme
Mit Rechtsklick auf die EXE -> Eigenschaften. Bei Kombatibilität gibt es Einstellungen für High-DPI. Hat mir schön öfters ein „versautes“ Layout bei älteren Anwendungen behoben. Vielleicht einen Versuch wert...
Hoffe du bekommst das schnell hin :thumb: |
AW: Hochauflösende Bildschirme
Du brauchst keinen 4K-Schirm, Du kannst die Auflösung an jedem System ändern. Ich teste auch, indem ich mein lokales System mal auf 150% oder 200% hochdrehe.
Rechtsklick Desktop - Display Settings - Scale and layout -> Advanced scaling settings -> custom scaling. Dann wird alles arg groß, zum Testen ist's aber wunderbar, zur Not in ner VM. |
AW: Hochauflösende Bildschirme
Zitat:
Es geht um die *.dfm Öffne dein Projekt selektiere alle Controls die auf der Form sind kopiere diese und paste sie in einem neuen Projekt auf die Form. Danach testest du ganz einfach das neue Projekt ob DPI funktioniert. Dafür brauchst du keine einzige zeile Code. Mache dann ein Backup deiner alten *.dfm und kopiere die neue in den Pfad des alten Projekt. gruss |
AW: Hochauflösende Bildschirme
Ok werde ich morgen testen.
Aber eine Frage noch ich verwende 2 Monitore, kann das Probleme verursachen?. Windows 10 lässt nicht zu die Anzeige zu skalieren. Also werde ich es mal auf einen anderen Rechner testen. Berichte dann. |
AW: Hochauflösende Bildschirme
Versuche doch, das Problem auf deinem Rechner zu reproduzieren, wie unten beschrieben (Skalierung).
Hast du im Code irgendwo ein ScaleBy(), das dafür verantwortlich sein könnte? Noch was: Ich hatte das umgekehrte Problem (Schrift extrem klein), da half es, die DPI Skalierung in den Eigenschaften anders einzustellen, aber(!) auf meinem Surface halfen andere Einstellungen als auf meinem Desktop. Wenn möglich würde ich da beim Kunden alle Einstellungen durchprobieren. Welche Delphi Version ist das eigentlich? |
AW: Hochauflösende Bildschirme
siehe #16
ScaleBy kommt nicht vor. |
AW: Hochauflösende Bildschirme
Ich glaube ich komme der Sache etwas auf den Grund. Ich habe als einzige Änderung die TMS Komponenten upgedatet. Es betrifft auch nur die TMS Komponenten die dieses verursachen. Ich werde mal die Hotline von TMS kontaktieren, ob dort etwas bekannt ist.
|
AW: Hochauflösende Bildschirme
Check mal, ob in der XML der DPROJ-Datei wirklich
Code:
steht.
<AppEnableHighDPI>false</AppEnableHighDPI>
Ich hatte gerade erst bei einer unserer alten Anwendungen das Problem, dass die Änderung an dieser Einstellung aus den Projektoptionen nicht ins DPROJ-XML übernommen wurden und ich darum das XML manuell anpassen musste. Es scheint mir ein Bug innerhalb der IDE bzw. Projektoptionen-Dialog zu sein. Da es immer auf True stand, war auf meinen 4K Monitor mit 150% auch alles an Schrift innerhalb der Komponenten vergrößert. Erst nach dem Ändern auf False sah die Anwendung wieder manierlich aus. EDIT: Beitrag mit weiteren Informationen zum besseren Verständnis ergänzt. |
AW: Hochauflösende Bildschirme
Bei mit steht dies drin:
<AppEnableHighDPI>true</AppEnableHighDPI> Soll das True oder False sein? |
AW: Hochauflösende Bildschirme
False! Händisch per Editor ändern und dann ausprobieren!
|
AW: Hochauflösende Bildschirme
Hmm, das scheint zu funktionieren, jetzt muss ich noch testen ob diese Einstellung so bleibt.
|
AW: Hochauflösende Bildschirme
Jetzt ist in den Projektoptionen aber Hochauflösend deaktiviert. Jetzt muss ich nochmals auf einen Retina Bildschirm testen.
|
AW: Hochauflösende Bildschirme
Wenn Deine Anwendung (noch) nicht mit hochauflösend klar kommt, sollte es auch deaktiviert bleiben.
|
AW: Hochauflösende Bildschirme
Zitat:
Zitat:
Zitat:
|
AW: Hochauflösende Bildschirme
Vielen Dank an alle die sich hier beteiligt haben. Ich denke das Problem ist behoben.
|
AW: Hochauflösende Bildschirme
Wir haben uns die Mühe gemacht, über dein Problem nachzudenken. Dann wäre es wohl angebracht, dass du dir die Mühe machst, uns die Lösung mitzuteilen. Meinst du nicht?
|
AW: Hochauflösende Bildschirme
Zitat:
Er hat DPIAware deaktiviert.. das ist die Lösung was möchtest du noch. gruss |
AW: Hochauflösende Bildschirme
Ganz unrecht hat er nicht. Wäre schon schön zu wissen, welcher Tipp jetzt die Lösung gebracht hat.
|
AW: Hochauflösende Bildschirme
Die Beiträge #27 bis #31 sollten euch weiterhelfen. :roll:
|
AW: Hochauflösende Bildschirme
Ich denke, es ist guter Stil, zu sagen, was schlussendlich die Lösung war. Dann muss jemand, der dasselbe Problem hat, nicht den ganzen Thread durchackern.
|
AW: Hochauflösende Bildschirme
Also ich musste noch testen. Ich habe zwar Hochauflösend deaktiviert aber das ist nicht die Lösung. Wenn ich dann wieder auf 125% Schriftgröße stelle habe ich wieder diese verunstalteten Fenster.
Ich hatte vor der Neu Installation auch Hochauflösend aktiviert und alle war gut. Ich warte mal was TMS mir dazu sagt, es betrifft eigentlich nur TMS Komponenten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 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