delphi 初始化
procedureTForm1.btn1Click(Sender:TObject);vart:TCheckBox;beginifrg1.ItemIndex<>-1then...
procedure TForm1.btn1Click(Sender: TObject);
var t:TCheckBox ;
begin
if rg1.ItemIndex<>-1 then
begin
case rg1.ItemIndex of
0:edt1.Text:='1';
1:edt1.Text:='2';
2:edt1.Text:='3';
3:edt1.Text:='4';
end;
edt1.Text:=edt1.Text+'你选择了:' ;
if t.Checked then edt1.Text:=t.Caption;
end;
end;
end.
[Warning] zao.pas(48): Variable 't' might not have been initialized
这是怎么回事,怎么初始化啊,请高手指教啊
忘给分了,如果能给你解决,我会给20分,谢谢了 展开
var t:TCheckBox ;
begin
if rg1.ItemIndex<>-1 then
begin
case rg1.ItemIndex of
0:edt1.Text:='1';
1:edt1.Text:='2';
2:edt1.Text:='3';
3:edt1.Text:='4';
end;
edt1.Text:=edt1.Text+'你选择了:' ;
if t.Checked then edt1.Text:=t.Caption;
end;
end;
end.
[Warning] zao.pas(48): Variable 't' might not have been initialized
这是怎么回事,怎么初始化啊,请高手指教啊
忘给分了,如果能给你解决,我会给20分,谢谢了 展开
1个回答
展开全部
你是不是要动态创建一个CheckBox?
在按下button的时候动态创建的话,t.checked的默认值是false,你不去改变t.checked的值,那该值就一直为false,所以你这一句edt1.Text:=t.Caption是不会执行的,我就不明白你这样创建有什么用途,你可以直接把与t相关的语句删去,程序得到的结果是一样的
虽然这样定义一个checkbox没什么意义,但是初始化的话就t := TCheckBox.Create(self);有创建就有释放t.free
在按下button的时候动态创建的话,t.checked的默认值是false,你不去改变t.checked的值,那该值就一直为false,所以你这一句edt1.Text:=t.Caption是不会执行的,我就不明白你这样创建有什么用途,你可以直接把与t相关的语句删去,程序得到的结果是一样的
虽然这样定义一个checkbox没什么意义,但是初始化的话就t := TCheckBox.Create(self);有创建就有释放t.free
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询