gpt4 book ai didi

delphi - 当我在自己的 OnClick 处理程序中销毁按钮时,为什么我的程序会崩溃?

转载 作者:行者123 更新时间:2023-12-03 15:05:53 24 4
gpt4 key购买 nike

我尝试了我运行的网站上的脚本 http://www.delphi-central.com/runtime.aspx并成功。

<小时/>
private
{ Private declarations }
procedure CustomButtonClick(Sender: TObject);
<小时/>
procedure TForm1.AddNewButtonClick(Sender: TObject);
var
NewButton : TButton;
begin
NewButton := TButton.create(self);

with NewButton do
begin
Top := 30;
Width := 60;
Left := Width * (self.ControlCount-2);
Parent := self;
OnClick := CustomButtonClick;
Caption := 'Button '+ inttostr (self.ControlCount-2);
end; //With
end;

procedure TForm1.DeleteLastButtonClick(Sender: TObject);
begin
if Self.ControlCount>2 then
TButton (Controls[ControlCount-1]).destroy;
end;

procedure TForm1.CustomButtonClick(Sender: TObject);
begin
ShowMessage(TButton(Sender).caption + ' Pressed');
end;

但是如果我更改 OnClick,

OnClick := CustomButtonClick; ==> OnClick := DeleteLastButtonClick;

它将生成一条错误消息。怎么会这样……???

最佳答案

当然,它会爆炸——这就是当你砍断你所坐的 Twig 时可能发生的情况。

您无法在由该控件生成的事件处理程序内终止该控件。

请注意,您正在使用的示例没有将 CustomButtonClick 指向删除例程!

关于delphi - 当我在自己的 OnClick 处理程序中销毁按钮时,为什么我的程序会崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3359552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com