2017-03-22 82 views
0

当按下鼠标左键时,我需要在TButton上有下拉菜单。德尔福firemonkey TButton与左键单击下拉菜单?

我用按钮的onClick事件下面的代码:

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; 

这正常工作与Windows作为目标平台,它也适用于OSX,但是当我点击快捷按钮几次,它在OSX上崩溃(在Windows上不是这样,没有问题)。

我在做什么错?

+0

您正在使用哪个版本的Delphi?究竟是什么样的崩溃?请更具体一些。这听起来像是一个可能的FireMonkey错误,你是否[向Embarcadero报告](http://quality.embarcadero.com)呢? –

+0

我还没有报告,因为我不确定我做错了什么,即使我没有看到我的代码中有任何错误。在Mac上,它会弹出一个访问冲突访问地址00000051.我正在使用Delphi 10.1更新2. – Softtouch

+0

AV位于接近0的低地址意味着正在访问一个零指针。 –

回答

0

肯定是10.1 Update 2中的一个bug。 我刚安装了Delphi 10.2东京,它的工作原理。