L
lliu
Unregistered / Unconfirmed
GUEST, unregistred user!
我定义了如下变量:
index:array[1..10] of integer;
timerindex:array[1..10] of integer;
imagearray:array[1..10,1..20] of Timage;
formarray:array[1..20] of Tform;
imerarray:array[1..10] of Ttimer;
我在过程中动态创建Tform,Timage,Ttimer,我希望每个form对应一个timer,
然后在timer的ontimer事件中改变相应form中的image,程序如下:
procedure ch(i:interger,...);
begin
formarray[i-1]:=Tform.create(self);
formarray[i-1].caption:=str;
formarray[i-1].show;
imagearray[i-1,1]:=Timage.create(self);
imagearray[i-1,1].parent:=formarray[i-1];
imagearray[i-1,1].picture:=Tpicture.create;
imagearray[i-1,1].picture.loadfromfile('c:/my documents/cellv0.bmp');
timerarray[i-1]:=Ttimer.create(timer1);
timerarray[i-1].interval:=100;
timerarray[i-1].ontimer:=mytimerontime;
timerarray[i-1].enabled:=true;
end;
其中mytimerontime定义如下:
procedure Tpagesdlg2.mytimerontime(sender:Tobject);
begin
if timerindex[i-1]=0 then
begin
if assigned(imagearray[i-1,1])then
begin
imagearray[i-1,1].picture.loadfromfile('c:/my documents/cellv0.bmp');
timerindex[i-1]:=(timerindex[i-1]+1) mod 4;
end;
end
else if timerindex[i-1]=1 then
begin
if assigned(imagearray[i-1,1]) then
begin
...
end;
end
else if timerindex[i-1]=2 then
begin
if assigned(imagearray[i-1,1]) then
begin
...
end;
end
else if timerindex[i-1]=3 then
begin
if assigned(imagearray[i-1,1]) then
begin
imagearray[i-1,1].picture.loadfromfile('c:/my documents/cellv3.bmp');
timerindex[i-1]:=(timerindex[i-1]+1) mod 4;
end;
end;
end;
我想请问:为什么我的程序运行后只有前面创建的两个form的图形发生该变,而
第三.四...等以后的就根本没反应。好象timerarray[3],timerarray[4]...不存在!
谢谢!
index:array[1..10] of integer;
timerindex:array[1..10] of integer;
imagearray:array[1..10,1..20] of Timage;
formarray:array[1..20] of Tform;
imerarray:array[1..10] of Ttimer;
我在过程中动态创建Tform,Timage,Ttimer,我希望每个form对应一个timer,
然后在timer的ontimer事件中改变相应form中的image,程序如下:
procedure ch(i:interger,...);
begin
formarray[i-1]:=Tform.create(self);
formarray[i-1].caption:=str;
formarray[i-1].show;
imagearray[i-1,1]:=Timage.create(self);
imagearray[i-1,1].parent:=formarray[i-1];
imagearray[i-1,1].picture:=Tpicture.create;
imagearray[i-1,1].picture.loadfromfile('c:/my documents/cellv0.bmp');
timerarray[i-1]:=Ttimer.create(timer1);
timerarray[i-1].interval:=100;
timerarray[i-1].ontimer:=mytimerontime;
timerarray[i-1].enabled:=true;
end;
其中mytimerontime定义如下:
procedure Tpagesdlg2.mytimerontime(sender:Tobject);
begin
if timerindex[i-1]=0 then
begin
if assigned(imagearray[i-1,1])then
begin
imagearray[i-1,1].picture.loadfromfile('c:/my documents/cellv0.bmp');
timerindex[i-1]:=(timerindex[i-1]+1) mod 4;
end;
end
else if timerindex[i-1]=1 then
begin
if assigned(imagearray[i-1,1]) then
begin
...
end;
end
else if timerindex[i-1]=2 then
begin
if assigned(imagearray[i-1,1]) then
begin
...
end;
end
else if timerindex[i-1]=3 then
begin
if assigned(imagearray[i-1,1]) then
begin
imagearray[i-1,1].picture.loadfromfile('c:/my documents/cellv3.bmp');
timerindex[i-1]:=(timerindex[i-1]+1) mod 4;
end;
end;
end;
我想请问:为什么我的程序运行后只有前面创建的两个form的图形发生该变,而
第三.四...等以后的就根本没反应。好象timerarray[3],timerarray[4]...不存在!
谢谢!