我要在timer里加for循环.但是一直造成系统当机.就是突然整个画面停了下来.
有没有什么解决的方法吗??
比如我往timer里加
for i:=0 to 10000 do
begin
label1.caption:=inttostr(i);
end;
为什么会这样呢??难道delphi还不如VB吗?
有没有什么解决的方法吗??
比如我往timer里加
for i:=0 to 10000 do
begin
label1.caption:=inttostr(i);
end;
为什么会这样呢??难道delphi还不如VB吗?
//////////
这根本就不会死机...
你在循环里面做几个复杂一点的运算,再试试...
//////////
难道delphi还不如VB吗?
//////////////////////
还有这样的话以后就不要再说了
1.在timer事件中,加入一些Application.ProcessMessage
2.将timer事件中的代码,入在一个线程中执行另外,如果这样就认为delphi不如VB,那是很不厚道的说~~~
2、在这种情况下,Delphi是无法自动刷新的,必须要自己手动刷新
for i:=0 to 10000 do
begin
label1.caption:=inttostr(i);
label1.Refresh;
end;
不知道你在OnTimer事件处理子程序中,有没有先Disable该Timer控件,退出该子程序时,再Enable该控件?
VB里我这样写
for i= 30 to 40
for j= 40 to 50
if getpixel(dc,i,j)=0 then
label1.caption="找到了"
end if
next
next
在DELPHI里我这样写
for i:=30 to 40 do
for j:=40 to 50 do
if getpixel(dc,i,j)=0 then
begin
label1.caption:='找到了'
end;
end;我这句是对游戏使用的.当在循环的时候
游戏的画面就会卡了一下.
for i:=30 to 40 do
for j:=40 to 50 do
if getpixel(dc,i,j)=0 then
begin
label1.caption:='找到了'
end;
Timer1.EnAble := true;试一下
**********************
这话 好象 很有道理的的说