AGB  ·  Datenschutz  ·  Impressum  







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

Hat DX10.1 u2 noch Kindrkrankheiten?

Ein Thema von a.def · begonnen am 13. Dez 2016 · letzter Beitrag vom 14. Dez 2016
Antwort Antwort
a.def
(Gast)

n/a Beiträge
 
#1

Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 13. Dez 2016, 11:41
Ich habe heute zum Test eine meiner Anwendungen auf DX10.1 u2 umgestellt.

In meiner Windows 7 VM mit 125 DPI war ich dann ein wenig geschockt. Denn die Anwendung ohne jegliche Änderungen gemacht zu haben sieht vollkommen anders aus als die die mit meinem alten XE2 kompiliert wurde.

Die TToolBar-Komponente wirft mir zum Beispiel den letzten TToolButton ganz rechts an die Form, obwohl er eigentlich zu den anderen ToolButtons nach links gehört.
Auch hat die ToolBar plötzlich einfach eine andere Höhe. Statt 22 Pixel plötzlich 45.
Oder ComboBoxen überlappen plötzlich die Buttons die daneben liegen.

Ist das bekannt, dass DX10.1 die GUI ein wenig durcheinander würfelt beim Wechsel von XE2 zu DX10.1 u2?

Geändert von a.def (13. Dez 2016 um 11:54 Uhr)
  Mit Zitat antworten Zitat
Pfaffe

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

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 13. Dez 2016, 11:58
Hast Du unter Projektoptionen-Anwendung-Manifestdatei "Hochauflösung aktivieren" aktiviert? Und falls Deine Anwendung noch die Komponente XP-Manifest hat, diese entfernen, auch in der uses Auflistung.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#3

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 13. Dez 2016, 12:02
Ich hatte gerade schon ein wenig Hoffnung und dann sah ich das hier (leider nicht aktiviert)
Miniaturansicht angehängter Grafiken
unbenannt.jpg  
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#4

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 13. Dez 2016, 12:51
Dann aktivier' es doch mal
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 13. Dez 2016, 13:32
Vielleicht zur Erklärung:
Wenn das Häkchen nicht gesetzt ist, geht Windows davon aus, dass die Anwendung nicht High-DPI unterstützt. Und dann wird eine nicht immer schöne Automatik angewendet.

Die schaltet man mit dem Häkchen aus. Da passiert noch mehr, aber das ist das wichtigste dabei, mehr gibt es bei Google.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 13. Dez 2016, 13:39
Hab kein DX10 aber kann man das nicht selbst über Manifest setzen?

<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>

Das Problem ist halt das von Windows die höhere DPI NICHT automatisch skaliert wird.
Davon ausgenommen ist WPF bei Forms muss man das Windows über ein Manifest mitteilen.
Hat aber weniger mit Delphi sondern eher mit Windows zu tun.

gruss

Geändert von EWeiss (13. Dez 2016 um 13:50 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#7

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 13. Dez 2016, 13:50
Dann aktivier' es doch mal
Bereits getestet. Hat im Prinzip nichts geändert, da alle meine Formulare Scaled False sind.
Ich bin jetzt für das Projekt wieder zurück auf XE2.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#8

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 14. Dez 2016, 18:25
Kann das denn jemand anderes bestätigen, dass DX10.1u2-Programme in hoher DPI anders aussehen als XE2-Programme?
  Mit Zitat antworten Zitat
Pfaffe

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

AW: Hat DX10.1 u2 noch Kindrkrankheiten?

  Alt 14. Dez 2016, 22:56
Scaled muss true sein.
Tipp: In Delphi 10.1 Up 2 eine neue Testanwendung erstellen und an den Grundeinstellungen nichts ändern. In die dpr kommt bei mir noch ein {$IFDEF DEBUG} ReportMemoryLeaksOnShutdown:= True; {$ENDIF} und ein try TStyleManager.SetStyle(TStyleManager.LoadFromFile( 'myStyle.vsf')); except end; rein. Den Font in der Form ändere ich von Tahoma Standard 8 auf Segoe UI Standard 9. Eine Form leite ich nie von TForm, sondern von TMyFrom2 ab. TMyForm1 kann sich die Fensterpositionen merken, wenn notwendig, und was wichtig ist, es stellt fest, dass die Anwendung beim letzten Start in einer anderen Bildschirmauflösung und in einer Scalierung gestartet wurde oder die Anwendung in einem unsichtbaren Bildschirmbereich geöffnet wurde. Alternativ kann man in die Anwendung eine Option "Fensterposition auf Standard setzen" einbauen. Oder man lässt das alles sein und verkauft seinem Kunden einen Fernwartungsservice für 130 EUR die Stunde. TMyForm2 hat die Funktionalitäten für die Internationalisierung.
Testen, testen mit verschiedenen Styles, testen mit verschiedenen Bildschirmauflösungen, testen, testen, protokollieren und dann entscheiden, ob es sinnvoll ist, die Altanwendung zu migrieren.
  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 14:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz