我是一个初学者。
求求你抛个眉眼给我。叫我乐开怀。
procedure TForm11.Button1Click(Sender: TObject);
Var
check:array[1..9] of TCheckBox;
var
fen:array[1..24] of TEdit;
var
j,i:integer;
begin
for i:=1 to 8 do
Check[i]:=TCheckBox('CheckBox'+IntToStr(i));
for j:=1 to 24 do
fen[j]:=TEdit('Edit'+IntToStr(j));
for i:=1 to 8 do
if Check[i].Checked then
showmessage('我为什么不会了');
end;
运行正确
执行出错:
为什么呢,谁能告诉我。应该怎么办。

解决方案 »

  1.   

    Check[i]:=TCheckBox('CheckBox'+IntToStr(i));
    是什么意思?
    能随便这样强行转换嘛?
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    Var
    check:array[1..9] of TCheckBox;
    var
    fen:array[1..24] of TEdit;
    var
    j,i:integer;
    begin
    for i:=1 to 8 do
    Check[i]:=TCheckBox.Create(Self);
    for j:=1 to 24 do
    fen[j]:=TEdit.Create(Self);
    for i:=1 to 8 do
    if not Check[i].Checked then
    showmessage('我为什么不会了');
    end;
      

  3.   

    应该是缺少TCheckBox和TEdit的相应单元吧。
      

  4.   

    好像您动态创建的组件并没有show?