![]() |
FireMonkey Problem
Hi,
ich mache gerade eine Anwendung die "überall" laufen soll, also in Firemonkey. Nun erster Test mit Win = ok, Anroid Zugriffverletzung ...... Tokyo 10.2.x: Warum: TMultiView, ich lasse es erscheinen und dann
Delphi-Quellcode:
SharedHint ist nil, dann knall es .....
procedure TCommonCustomForm.TriggerControlHint(const AControl: IControl);
var LHintString: string; LControl: IControl; begin if AControl.HasHint then LControl := AControl else LControl := nil; if LControl <> FLastHinted then begin if Application.ShowHint and (LControl <> nil) then begin SetLastHinted(AControl); LHintString := AControl.GetHintString; if (AControl.GetHintObject = nil) or not (AControl.GetHintObject is THint) then begin SharedHint.SetHint(GetShortHint(LHintString)); Hint bei Button der auf dem Multiview ist entfernt nun gehts ..... |
AW: FireMonkey Problem
Soweit ich weiß, gibt es Hints nur bei Windows und MacOS. Aber das sollte jedenfalls nicht zu einem Fehler führen.
Kannst du das in einem Minimalprojekt reproduzieren und dafür einen QP-Eintrag anlegen? |
AW: FireMonkey Problem
Zitat:
FMX selber hat noch nicht lange Hints, daher wird dort bisher kaum jemand etwas eingetragen haben. Bei den Meisten ist somit HasHint nicht True und der nachfolgende Code wird nirgendwo ausgeführt und niemand könnte Fehler in diesen Funktionen entdecken. |
AW: FireMonkey Problem
Um das alles etwas einfacher zu machen, könnte man eine Dummy-THintClass verwenden, die immer dann erzeugt wird, wenn keine andere Klasse registriert ist. Dann spart man sich überall die Überprüfung, ob SharedHint eventuell nil liefert. Wenn du mir den QP-Eintrag nennst, kann ich das im Comment unterbringen.
|
AW: FireMonkey Problem
Zitat:
TMultiview mit Toolbar und einem Button, der einen Hint hat Auf einem Handy ist die Multiview ausgeblendet, sobald sie sichtbar wird gab es eine Schutzverletzung. Wie ich oben geschrieben hatte, soll die Anwendung auf allen Plattformen laufen, also sind die Hints nicht sinnfrei, sondern bei Windows üblich. |
AW: FireMonkey Problem
Probier mal folgenden Code in deinem Mainform:
Delphi-Quellcode:
type
TDummyHint = class(THint) public procedure SetPosition(const X: Single; const Y: Single); override; end; procedure TDummyHint.SetPosition(const X, Y: Single); begin end; initialization THint.RegisterClass(TDummyHint); end. |
AW: FireMonkey Problem
Zitat:
![]() Allerdings hat man selbst bei Delphi 10.2 bei einigen Komponenten "vergessen" diese Eigenschaften zu veröffentlichen, z.B. bei der TComboColorBox. Aber hier kann man bei Bedarf die entsprechenden Properties zur Laufzeit setzen, dann werden die auch angezeigt. |
AW: FireMonkey Problem
Zitat:
Ich weiß zwar nicht, was Du da überhaupt machst, aber Du solltest es genau so machen: Wenn Dein Code auf einer mobilen Plattform läuft, dann braucht er doch gar nicht ausgeführt werden, da dort keine Hints angezeigt werden. Kannst Du ja dann den Code mit den entsprechenden IFDEFS außen vor lassen... |
AW: FireMonkey Problem
Zitat:
Zitat:
Mein Code-Schnipsel weiter oben soll das beheben, in dem er eine Dummy-Klasse registriert, die in dem oben angesprochenen Fall einspringt. |
AW: FireMonkey Problem
Das Problem ist anscheinend immer noch nicht gefixt (also auch nicht in 10.3.1).
Nach einer verzweifelten Suche von mehreren Stunden nach einem unerklärlichen Fehler habe ich hier endlich dieses Problem für IOS und Android ausfindig machen können. Wurde das von jemanden gemeldet? Wenn nein, würde ich einen Eintrag machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 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