AGB  ·  Datenschutz  ·  Impressum  







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

XE6: Problem mit Autosize

Ein Thema von eddie11 · begonnen am 24. Apr 2014 · letzter Beitrag vom 21. Okt 2014
Antwort Antwort
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#1

XE6: Problem mit Autosize

  Alt 24. Apr 2014, 14:55
Hi

bei XE6 und FMX habe ich ein Problem mit Autosize von Labels. Wenn ich Autosize auf True stelle, dann wird ja die Breite eines Labels automatisch anhand des Inhalts gesetzt. Das war jedenfalls bisher so. Bei XE6 ist die Breite immer zu klein, ich muss ein Space hinter den Text setzen, um die korrekte Breite zu kriegen, sonst fehlt das letzte Zeichen!

Noch schlimmer ist es, wenn ein Label zur Entwurfszeit leer ist und erst zur Laufzeit mit Daten gefüllt wird: dann passiert nämlich erkennbar garnichts, das Label ist weiterhin nicht sichtbar (Width=0).

Ich setze noch XP ein umd habe eine Bildschirm-Auflösung von 2560x1600.

Ähnliche Erfahrungen/Workaround bei Euch?
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: XE6: Problem mit Autosize

  Alt 24. Apr 2014, 15:32
Eventuell ist das ein Problem mit der Skalierung, wo dann falsch gerechnet wird? (ungleich 100%)
http://www.delphipraxis.net/180023-f...d-150-dpi.html

Bei 100% schneidet der nichts ab, aber das mit dem '' ist hier auch.

Da könnte es sein, daß AutoSize erst im OnPaint neu berechnet wird und wenn das Ding nicht sichtbar ist, dann wird es nie neu gezeichnet.
- entweder kein AutoSize verwenden
- niemals leer werden lassen
- vorher das Width hochsetzen, bevor der Text zugewiesen wird.
- oder eventuell ist die Berechnungsmethode öffentlich, dann Diese nachher manuell aufrufen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#3

AW: XE6: Problem mit Autosize

  Alt 24. Apr 2014, 16:02
Die Windows-Einstellung wurde nicht verändert, die Skalierung steht auf 100%. Auf einem anderen System mit kleinerer Auflösung funktioniert es, d.h. der komplette Text wird angezeigt.

Das Problem mit dem '' ist blöd, da ich mitunter mahrere Labels nebeneinander mit align right/left habe, da kann ich dann nicht auf AutoSize verzichten - muss ich mal nach nem anderen Workaround suchen...
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: XE6: Problem mit Autosize

  Alt 24. Apr 2014, 16:42
Hast du schon geschaut, ob es einen QC Eintrag gibt und ggf. einen erstellt? Wenn das mit XE5 noch ging und du im Titel direkt ranschreibst, dass es eine Regression ist, ist die Chance hoch, dass es in einem Update korrigiert wird.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: XE6: Problem mit Autosize

  Alt 24. Apr 2014, 17:10
Das ist doch ein dead end. Ich habe inzwischen die Schnauze voll von FMX auf dem Desktop. Wird nur noch für mobile eingesetzt, im Gemisch mit nativen Komponenten. Mit jeder Version wird es schlimmer. 3 Jahre und 4 Versionen sollten wohl genügen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: XE6: Problem mit Autosize

  Alt 24. Apr 2014, 18:00
Problem tritt vor allem dann auf, wenn man

FMX.Types.GlobalUseDirect2D := false; gesetzt hat, um die Schrift zu verbessern.

Ferner ist es ein Problem der Übernahme von XE5-x zu XE6.

Während unter XE5 und Vorgänger die Eigenschaft "Trimming" für das TLabel per Default auf ttNone steht, wird sie bei der Übernahme eines Projektes zu XE6 auf "Charakter" gesetzt. Die Eigenschaft Trimming findet Ihr in XE6 nun unter Textsettings.

Es hilft also dann, bei allen Labels das wieder auf TTNone zu setzen.
Ich persönlich werde und möchte GlobalUseDirect2D weiterhin auf false lassen, weil die Schrift dann deutlich besser ist.

Übrigens ist die Schrift auch bei der Übernahme zu XE6 in allen Forms größer. Das liegt daran, dass überall für die Schriftgröße, wo vorher "Size=11" stand, nun ein neuer Eintrag "Default" verwendet wird, der aber nun die Bedeutung "Size=12" hat. Besonders schlecht funktioniert Autosize zudem, wenn man noch eine Nicht True-Type-Schriftart verwendet, wie z.B. MS Sans Serif. Besser gehen Arial oder Segeo UI (was Standard = Default ist).

Will man seine Anwendung also nicht anders als zuvor aussehen lassen, muss man das anpassen.

Die Beste Lösung ist wohl (vor allem derzeit), Autosize auszustellen (was ich sowieso empfehle, wenn man die Anwendung auch unter 125% Skalierungen (Anzeigeeigenschaften Betriebssystem) oder mehr verwenden möchte).

Da ich glaube, dass das weder irgendwo unter "Was gibt es neues... in XE6" beschrieben ist, noch, dass das nun einen besonderen Sinn macht, kann ich die emotionale Lage von Union sehr gut nachvollziehen.

Was aber nicht heißen soll, dass ich nicht weiter am Ball bleibe...

Geändert von Harry Stahl (24. Apr 2014 um 18:07 Uhr)
  Mit Zitat antworten Zitat
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#7

AW: XE6: Problem mit Autosize

  Alt 25. Apr 2014, 11:45
Danke,

Zitat:
Während unter XE5 und Vorgänger die Eigenschaft "Trimming" für das TLabel per Default auf ttNone steht, wird sie bei der Übernahme eines Projektes zu XE6 auf "Charakter" gesetzt. Die Eigenschaft Trimming findet Ihr in XE6 nun unter Textsettings.
Das hat geholfen, auf meinem großen Monitor mit der hohen Auflösung wird allerdimngs immer noch hinten ein kleiner Rand abgeschnitten.
Ansonsten werde ich wohl in Zukunft auf Autosize verzichten.
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: XE6: Problem mit Autosize

  Alt 25. Apr 2014, 18:47
Danke,
Das hat geholfen, auf meinem großen Monitor mit der hohen Auflösung wird allerdimngs immer noch hinten ein kleiner Rand abgeschnitten.
Ansonsten werde ich wohl in Zukunft auf Autosize verzichten.
Ja, das mit dem Abschneiden ist auch hier so. Außerdem habe ich festgestellt, dass bei der Verwendung eines Nicht-True-Type-Fonts das Autosize auch in der Höhe fehlerhaft durchgeführt wird, beim g oder p fehlen also die unteren Pixel.

Man fragt sich, ob es bei EMBA keine Qualitätskontrolle oder unit-tests gibt?
  Mit Zitat antworten Zitat
oPok

Registriert seit: 20. Apr 2006
3 Beiträge
 
#9

AW: XE6: Problem mit Autosize

  Alt 20. Okt 2014, 19:09
Habe die gleichen Probleme mit XE7. Es wurde also noch nicht behoben.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: XE6: Problem mit Autosize

  Alt 21. Okt 2014, 00:58
Ja, kann ich leider bestätigen, Problem ist in XE7 noch nicht behoben
Hilft nur Autosize ausstellen, Trimming auf ttnone setzen und ausreichend Platzreserve belassen.
  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 00:55 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