2017-03-22 3 views
0

Ich brauche Dropdown-Menüs auf TButton, wenn die Schaltfläche mit der linken Maustaste geklickt wird.Delphi firemonkey TButton mit Dropdown-Menü auf der linken Maustaste?

Ich verwende den folgenden Code in der OnClick-Ereignis der Schaltfläche:

procedure TForm1.button1Click(Sender: TObject); 
var 
    pt:TPointF; 
begin 
    pt.X:=0; 
    pt.Y:=button1.Height; 
    pt:=button1.LocalToAbsolute(pt); 
    pt:=ClientToScreen(pt); 
    popupmenu1.Popup(pt.X,pt.y); 
end; 

Dies funktioniert mit Windows als Zielplattform in Ordnung, es funktioniert auch auf OSX, aber wenn ich die Taste ein paar Mal schnell klicken, es Absturz unter OSX (nicht unter Windows, es gibt kein Problem).

Was mache ich falsch ???

+0

Welche Version von Delphi verwenden Sie? Was für ein Unfall ist das genau? Bitte sei spezifischer. Es klingt wie ein möglicher FireMonkey-Fehler, hast du es bereits an Embarcadero (http://quality.embarcadero.com) gemeldet? –

+0

Ich habe es noch nicht gemeldet, weil ich mir nicht sicher bin, ob ich etwas falsch mache, sogar ich sehe nichts falsch in meinem Code. Auf Mac, es popup eine Zugriffsverletzung Zugriff Adresse 00000051. Ich verwende Delphi 10.1 Update 2. – Softtouch

+0

ein AV bei einer niedrigen Adresse in der Nähe von 0 bedeutet, ein Null-Zeiger wird zugegriffen. –

Antwort

0

Muss ein Fehler in 10.1 Update 2 gewesen sein. Ich habe gerade Delphi 10.2 Tokyo installiert, und es funktioniert.

Verwandte Themen