Forum: Cross-Platform-Entwicklung
by Uwe Raabe,
16. Jul 2018
In diesem Fall ist das aber ein Fehler in FMX. Der Zugriff auf SharedHint kann nil zurückliefern, da dort bei Bedarf THint.CreateNewInstance aufgerufen wird (eben um eine Instanz zu erzeugen). Allerdings sagt die Hilfe zu CreateNewInstance:
Es werden aber nur für Windows und MacOS solche Klassen registriert. Deswegen liefert SharedHint auf allen anderen Systemen nil und der Aufruf in...
Forum: Cross-Platform-Entwicklung
by Uwe Raabe,
16. Jul 2018
Probier mal folgenden Code in deinem Mainform:
type
TDummyHint = class(THint)
public
procedure SetPosition(const X: Single; const Y: Single); override;
end;
procedure TDummyHint.SetPosition(const X, Y: Single);
begin
Forum: Cross-Platform-Entwicklung
by Uwe Raabe,
16. Jul 2018
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.
Forum: Cross-Platform-Entwicklung
by Uwe Raabe,
16. Jul 2018
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?