Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Darstellungsfehler von TButton & anderen Controls mit FMX (https://www.delphipraxis.net/202991-darstellungsfehler-von-tbutton-anderen-controls-mit-fmx.html)

Andreas L. 1. Jan 2020 15:58

Darstellungsfehler von TButton & anderen Controls mit FMX
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,

wenn ich eine leere Firemonkey Anwendung erstelle und normale Buttons (TButton oder TSpeedButton) auf dem Form oder einem Layer wie TPanel, etc. platziere wird während der Laufzeit ein Strich links neben dem Button angezeigt wenn man mit der Maus über den Button fährt und ihn wieder verlässt. Selbigen Darstellungsfehler habe ich auch schon bei einem TListBoxItem bemerkt. Auch bei OnClick tritt der Fehler manchmal auf. Selten werden nach MouseOver und anschließenden Klick nach erneutem verlassen und überfahren des selben Buttons sogar 2 Striche nebeneinander dargestellt.

Ich habe die Buttons sowohl ohne Style, mit "toolbutton"-Style, anderen Delphi-eigene-Styles sowie selbst erstellten Styles getestet. Das macht aber keinen Unterschied. Das Problem tritt auch auf wenn man seine Styles nicht für die Plattform also Windows definiert sondern sie als "default"-Style speichert. Ebenso tritt der Fehler auf wenn ControlStyle auf Plattform gestellt wird.

Seltsamerweise tritt dieser Fehler nicht bei allen Buttons auf dem Form auf. Es sind fast immer nur die Buttons auf der linken Seite der Form betroffen. Manchmal die in der Mitte. Rechts werden die Buttons immer korrekt angezeigt.

Was auch komisch ist, ist das nach einem MouseOver über z. B. eine ComboBox die Buttons plötzlich wieder richtig dargestellt werden. Bis zum nächsten Button Hover.

Ich habe ein Demo-Programm inkl. Source und Screenshots dem Thread angehängt. In dieser Demo-Anwendung tritt der Fehler immer auf. Außerdem sind darin mehrere Versuche enthalten den Fehler mit Code zu beheben.

Tritt das Phänomen auch bei euch auf? Weiß jemand abhilfe?

Ich verwende Delphi 10.3.2 Community Edition auf Windows 7. Auf anderen Systemen habe ich das Demo-Programm noch nicht ausprobiert. Kann es mit meiner Grafikkarte oder den Treibern zu tun haben? Ich habe aber die neuesten Treiber installiert... :roll:

Form nach dem das Programm frisch gestartet wurde:
Anhang 51977

Form nach Mouse-Over über diverse Buttons:
Anhang 51976

Ich hoffe es gibt eine Lösung. Denn ein Programm das nicht mal einen simplen Button oder eine Liste richtig darstellen kann, kann ich weder zahlenden Kunden noch Usern meiner Free- und OpenSource-Projekte zumuten. :pale: :x

Schöne Grüße,
Andreas Lauß

Medium 1. Jan 2020 22:16

AW: Darstellungsfehler von TButton & anderen Controls mit FMX
 
Wilkommen zur "Shitshow" FMX. Das ganze Teil ist nett, aber bei weitem noch nicht zu Ende gedacht. Dieser Effekt ist einer von vielen, an denen man merkt, dass Emba scheinbar nicht zu viele Ressourcen in das Testen der Basisfunktionalitäten seiner neuen Aushängeschilder investieren mag.

Mangels Delphi hier zuhause kann ich das Projekt nicht selbst testen. Daher die Frage: Ist irgend etwas in dem Form skaliert, oder ist dein Desktop auf etwas anderes als 100% eingestellt? Das sind die üblichen Situationen, zu denen ich diese Ränder entdeckt habe. Ich vermute, dass die Entwickler hier darüber gestolpert sind, dass eine Pixel-Mitte in 3D APIs immer bei X,5 und nicht bei X liegt, und daher ihre Quads mit Pech, an manchen stellen, nicht zu einem bündigen Rendring führen. Ist aber nur eine Vermutung. Ich habe die eigentlichen Stellen an denen dies gemacht wird in dem Dickicht an Quellen noch nicht gefunden, bzw. nicht Zeit und Muße gehabt dem weiter auf den Grund zu gehen.

Echt schade, weil die Grundidee eröffnet einem scheinbar als VCL-gewöhntem Entwickler ein ganz neues Universum an modernen und praktischen Möglichkeiten - aber leider scheitert man dann doch an der unflexibilität und/oder Details der Umsetzung der mitgelieferten Standardkompnenten, und gerade das Style-Management ist meiner Erfahrung nach mehr Fluch als Segen. Einfach maximal unhandlich und unintuitiv, und will man mal mehr als in den Tutorial-Videos gezeigt umsetzen, betritt man absolutes Niemansland.

Ich war dermaßen enthusiastisch ggü. FMX, dass es mich dazu verleitet hat unser nach wie vor produktiv eingesetztes D2007 mit 10.2.3 zu ersetzen, aber die Ernüchterung folgte leider prompt. Wenn man schon ein komplett eigenes TEdit entwickeln muss, nur weil man aus dem Code heraus die Hintergrundfarbe ändern können will, ohne für jede Farbe ein Bitmap vorzuhalten und mit den esoterischen Style-Manager Funktionen zu beten, wird der Umstieg zur Geduldsprobe. Ich will es nach wie vor, aber produktiv haben wir FMX auch nach einem Jahr noch nicht im Einsatz. Das ganze Gestricke bezahlt einem keiner, also ist das Hobby und dauert eben.

Andreas L. 2. Jan 2020 09:25

AW: Darstellungsfehler von TButton & anderen Controls mit FMX
 
Zitat:

Zitat von Medium (Beitrag 1454270)
Daher die Frage: Ist irgend etwas in dem Form skaliert, oder ist dein Desktop auf etwas anderes als 100% eingestellt?

Nein, das Form ist nicht skaliert. Alle Properties der Form sind Standard. Desktop hat ebenfalls Standard-Einstellungen.

Zitat:

Zitat von Medium (Beitrag 1454270)
Echt schade, weil die Grundidee eröffnet einem scheinbar als VCL-gewöhntem Entwickler ein ganz neues Universum an modernen und praktischen Möglichkeiten - aber leider scheitert man dann doch an der unflexibilität und/oder Details der Umsetzung der mitgelieferten Standardkompnenten, und gerade das Style-Management ist meiner Erfahrung nach mehr Fluch als Segen. Einfach maximal unhandlich und unintuitiv, und will man mal mehr als in den Tutorial-Videos gezeigt umsetzen, betritt man absolutes Niemansland.

Ich war dermaßen enthusiastisch ggü. FMX, dass es mich dazu verleitet hat unser nach wie vor produktiv eingesetztes D2007 mit 10.2.3 zu ersetzen, aber die Ernüchterung folgte leider prompt. Wenn man schon ein komplett eigenes TEdit entwickeln muss, nur weil man aus dem Code heraus die Hintergrundfarbe ändern können will, ohne für jede Farbe ein Bitmap vorzuhalten und mit den esoterischen Style-Manager Funktionen zu beten, wird der Umstieg zur Geduldsprobe. Ich will es nach wie vor, aber produktiv haben wir FMX auch nach einem Jahr noch nicht im Einsatz. Das ganze Gestricke bezahlt einem keiner, also ist das Hobby und dauert eben.

Die Möglichkeiten von Firemonkey sind nahezu unbegrenzt. Man kann damit richtig tolle GUIs designen. Auch die Effekte, die 3D-Objekte, die Tatsache das man alle Komponenten verschachteln kann, etc. macht Firemonkey zu einem mächtigen Werkzeug. Leider hat es wie du auch sagst viele Probleme. Viele davon betreffen Standard-Funktionen. Öfter mal stürzt die IDE ab wenn man einen neuen Style erstellen möchte, Styles werden plötzlich nicht mehr verwendet, Änderungen an Styles werden nicht übernommen, für jedes Panel muss ein eigener Style definiert werden nur damit das eine Panel einen Rahmen hat und das andere nicht, und so weiter. Ich möchte und werden Firemonkey für die meisten neue Projekte einsetzen. Die VCL ist einfach nicht skalierbar genug für moderne GUIs. Aber der Darstellungsfehler des Buttons muss unbedingt behoben werden!

Der schöne Günther 2. Jan 2020 10:05

AW: Darstellungsfehler von TButton & anderen Controls mit FMX
 
Bei mir in 10.0 Seattle gibt es den optischen Fehler (noch) nicht. Ob es jetzt an Delphi oder daran liegt dass mein Betriebssystem keine zehn Jahre alt ist weiß ich nicht.

Dafür verhält sich der Fokus-Rahmen um die Buttons nicht korrekt (z.B. verschwindet er wenn das Fenster nicht den Fokus hat) und das Fenster lässt sich merkwürdigerweise nicht mit AeroSnap verschieben (also z.B. in die Bildschirmecken schieben und es rastet dort ein).

Und ja, ich habe FMX auch mehrere Chancen gegeben. In der Theorie sah es echt cool aus, aber so Fehler wie du hatte ich ständig. Mein letzter ernsthafter Versuch war aber zugegebenermaßen 2016. Ob es sich seitdem merklich gebessert hat weiß ich nicht.

firstfriday 30. Jul 2020 07:39

AW: Darstellungsfehler von TButton & anderen Controls mit FMX
 
Auch bei Delphi 10.3 gibt es Pixelfehler, aber ich bin mir nicht sicher, ob es an (nur) FMX liegt. Ein Programm läuft bei mir auf verschiedenen Rechnern und nur bei einem treten diese Darstellungsfehler auf.
Die Windowsversionen sind auf allen Rechnern identisch.

TurboMagic 30. Jul 2020 16:45

AW: Darstellungsfehler von TButton & anderen Controls mit FMX
 
Hallo,

hat schon mal jemand in QP (quality.embarcadero.com) geschaut ob dieser Pixelfehler schon bekannt ist?
Falls nicht bitte einen Report erstellen und möglichst OS, Grafikkarte und Grafiktreiberversion angeben.
Wenn sowas nur auf bestimmten PCs auftritt könnten diese Daten hilfreich sein.

Grüße
TurboMagic

Bernhard Geyer 30. Jul 2020 17:13

AW: Darstellungsfehler von TButton & anderen Controls mit FMX
 
Zitat:

Zitat von firstfriday (Beitrag 1470776)
Die Windowsversionen sind auf allen Rechnern identisch.

Auch die gleiche Grafikkarten und Treiberversionen?
Ist zwar bei W10 nicht mehr soooo relevant, aber sowas kann gerne durchschlagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 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