删除动态控件时出错:Abstract error.
当增了n个BUTTON时后,删除较中间的控件会出错.并不会特定在某个控件上的.//增一控件
procedure TfrmAddCont.btnAddClick(Sender: TObject);
var
sName:string;
gBtn:TButton;
begin self.i:=self.i+1;
if self.i>10 then
Begin
self.L:=self.L+1;
self.i:=1;
end;
sName:= chr(64+self.i+self.L) + inttostr(self.i); gbtn:=tbutton.Create(self.btnAdd);
gbtn.Left:=80*self.i;
gbtn.Top:=40*self.L+100; gbtn.Caption:= '&' + sName;
gbtn.Name:=sName;
gbtn.Parent:=self;
gbtn.Visible:=true;
gbtn.OnClick:=self.fRemButton;
end;//删除控件
procedure tfrmaddcont.fRemButton(Sender:TObject);
var
gBtn:TButton;
Begin
try
gBtn:=TButton(Sender);
showmessage(gBtn.Caption);
gBtn.Free;
except
on e:exception do
showmessage(e.Message);
end;
End;
当增了n个BUTTON时后,删除较中间的控件会出错.并不会特定在某个控件上的.//增一控件
procedure TfrmAddCont.btnAddClick(Sender: TObject);
var
sName:string;
gBtn:TButton;
begin self.i:=self.i+1;
if self.i>10 then
Begin
self.L:=self.L+1;
self.i:=1;
end;
sName:= chr(64+self.i+self.L) + inttostr(self.i); gbtn:=tbutton.Create(self.btnAdd);
gbtn.Left:=80*self.i;
gbtn.Top:=40*self.L+100; gbtn.Caption:= '&' + sName;
gbtn.Name:=sName;
gbtn.Parent:=self;
gbtn.Visible:=true;
gbtn.OnClick:=self.fRemButton;
end;//删除控件
procedure tfrmaddcont.fRemButton(Sender:TObject);
var
gBtn:TButton;
Begin
try
gBtn:=TButton(Sender);
showmessage(gBtn.Caption);
gBtn.Free;
except
on e:exception do
showmessage(e.Message);
end;
End;
解决方案 »
- 如何把OleVariant数据保存到文件中???
- 男人散分不是错
- 请问个位。我不做安装包。我的意思是建个文件夹 再这个文件夹里放入exe文件,怎样让他在没有delphi的环境下运行。除了exe还的拷贝什么
- 投诉:请问斑竹,我的信誉分怎么莫名其妙少了5分?分多分少不是什么问题,但是请给我一个解释,谢谢!
- SQL.Text := 'select top 1 * from zhu';//为什么这个模块需要把头一位的资料拉出来
- 很急!!!关于目录下所有文件的处理问题。
- Delphi连接Ms sql2000 这难呀??
- 获取网页源代码时,出现乱码是为什么?
- 我要把QryStation里面的字段Point找出来,其中怎么找?用SQL语句
- 怎样把CD文件转化成MP3格式文件? --急
- 请问谁有installshield的东方语言包:IS622EastPack 的安装注册码?
- 学生成绩查询系统的原码在哪可以找到?(在线等待,马上给分100)
这可能就是引起问题的原因
你试试把释放的代码放到其他过程中,而不是放在要释放的按钮的onclick事件中