![]() |
AW: Fehlerhafte Darstellung von TMenuItem Seperator in 10.3
Ich habe die Ursache jetzt selbst analysiert (10.2 mit 10.3 verglichen) und gefixt. Falls es Deine (@Uwe Raabe) Änderungen sind, kannst Du den Fix gerne übernehmen. Ansonsten hilft das vielleicht noch anderen, die darauf stoßen. Ansonsten wird man künftig eben alle neuen Delphi-Anwendungen unter Windows 7 sehr leicht an den Menüs erkennen. ;)
Vcl.Menus.pas Der eigentliche Fehler liegt hier, weil eine Positionskorrektur fälschlicherweise auch für Separators durchgeführt wird:
Delphi-Quellcode:
Unabhängig von der senkrechten Linie, die dadurch kaputt geht (was man unter Win10 aber nicht mitbekommt), verschiebt ich die waagerechte Linie nach links. Dem wurde dann in Zeile 1635 wohl versucht gegenzusteuern. Warum man bei einem Separator aber Abmessungen von Checkboxen oder Images berücksichtigen sollte statt den Fehler bei vorangehenden Änderungen zu suchen, erschließt sich mir nicht. Ich habe den Teil daher durch die vorherige 10.2er Version ersetzt:
1444:
// if LCheckRect.Bottom > ARect.Bottom then if (LCheckRect.Bottom > ARect.Bottom) and (Caption <> cLineCaption) then
Delphi-Quellcode:
Damit ist das Problem behoben.
1635:
// LDetails := LStyle.GetElementDetails(tmPopupCheckNormal); // LStyle.GetElementSize(ACanvas.Handle, LDetails, esActual, LSize, LPPI); // if Assigned(ImageList) and (ImageList.Width > LSize.cx) then // LSize.cx := ImageList.Width; // if LStyle.GetElementMargins(ACanvas.Handle, LDetails, emContent, LCheckMargins, LPPI) then // Dec(LSize.cx, LCheckMargins.cxLeftWidth); // if not RightToLeft then // Inc(ARect.Left, LSize.cx) // else // Dec(ARect.Right, LSize.cx); if not RightToLeft then ARect.Left := LGutterRect.Right + 1 else ARect.Right := LGutterRect.Left - 1; |
AW: Fehlerhafte Darstellung von TMenuItem Seperator in 10.3
Zitat:
|
AW: Fehlerhafte Darstellung von TMenuItem Seperator in 10.3
Zitat:
|
AW: Fehlerhafte Darstellung von TMenuItem Seperator in 10.3
In den letzten 360 Tagen gab es 2000 Ticktes im Emba-Jira geschlossen.
Hier zu sagen das nix gemacht wird ist schon sehr gewagt Verglichen mit den Jahren zur qc-Zeit wird m.E. sehr viel mehr Fehler auch zeitnah behoben. Die Qualität der letzten Delphi-Versionen ist gegenüber früher (D6 bis vor 3 Jahren und bis vor 6 Monaten XE6) ist (jedenfalls für mich) viel besser geworden. |
AW: Fehlerhafte Darstellung von TMenuItem Seperator in 10.3
Zitat:
Die Lösung ist übrigens auch ohne groß zu testen logisch: Die X-Position für den Separator ist ja schon vorher korrekt. Wenn man sie nicht anfasst, stimmt alles. Mit Zeile 1444 wird diese dann "fehlkorrigiert" und in Zeile 1635 wird dann wieder recht umständlich versucht, die korrekte X-Position zu berechnen, die dann aber nur noch für die waagerechte aber nicht senkrechte Linie Relevanz hat. Zitat:
Zitat:
Von dem verbliebenen Rest ist nur ein Bruchteil davon für die Entwicklung von Windows-Anwendungen relevant. Und davon wiederum sind die meisten erst in 10.2 dazugekommen, also Bugs an Stellen, die vorher funktioniert haben. Neue Features werden bewusst mit Fehlern veröffentlicht, um sie später dann fixen zu können: Erklärt mir doch mal bitte einer, warum die groß angekündigten und von vielen heiß erwarteten Inline-Variablen als Quelltext-Fehler markiert werden? Das kann man nicht übersehen haben. Wie kann man sowas überhaupt veröffentlichen? Oder um das vorherige Beispiel nochmals aufzugreifen: Warum wird ein offensichtlicher und nerviger IDE-Bug, bei dem man bestimmte Komponenten nicht gleichzeitig auswählen kann, auch nach einem Jahr ![]() |
AW: Fehlerhafte Darstellung von TMenuItem Seperator in 10.3
Im Strafrecht nennt man das "Vorsatz", mindestens aber "Absicht".
|
AW: Fehlerhafte Darstellung von TMenuItem Seperator in 10.3
Zitat:
Und zu dem Report oben: ja das nervt, bich auch selber schon reingelaufen, bin mir aber recht sicher, dass die das in näherer Zukunft fixen, ganz einfach schon weil die das auch selber beim Arbeiten nerven wird ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 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