T
Txh2005
Unregistered / Unconfirmed
GUEST, unregistred user!
一个按钮的点击事件
var ii, i, j, k: integer;
sArr: array[0..50] of char;
begin
for i := 1 to strtoint(Edit11.Text) do
begin
// if i > strtoint(Edit11.Text) then break;
for j := strtoint(ComboBox2.Text) to strtoint(ComboBox3.Text) do
begin
// if j > strtoint(ComboBox3.Text) then break;
for k := strtoint(ComboBox4.Text) to strtoint(ComboBox5.Text) do
begin
// if k > strtoint(ComboBox5.Text) then break;
ii := ilovedephibbs(strtoint(Edit6.Text), j, k, sArr);
if ii = 1 then
ListBox1.Items.Add('成功')
else
ListBox1.Items.Add('错误!');
ListBox1.Items.Add('i:' + inttostr(i) + ' j:' + inttostr(j) + ' k:' + inttostr(k));
application.ProcessMessages;
end;
end;
end;
就是上面这个循环,他变成了个死循环,让我搞了一个小时
在这1个小时里我做了如下调试
1,排除了代码别的地方改变i、j、k的值
2,试着在循环末尾加next --无效
3,屏蔽循环里的唯一函数 ilovedephibbs,有效,不死循环了
4,打开ilovedephibbs,把变量等于的值直接换成数字,也有效
呵呵,有点搞晕了,ilovedephibbs是从串口收发数据的
5,从新启动了电脑 ,还是不行,
最后不得不加上强制中断,各位大虾,这是什么原因?
var ii, i, j, k: integer;
sArr: array[0..50] of char;
begin
for i := 1 to strtoint(Edit11.Text) do
begin
// if i > strtoint(Edit11.Text) then break;
for j := strtoint(ComboBox2.Text) to strtoint(ComboBox3.Text) do
begin
// if j > strtoint(ComboBox3.Text) then break;
for k := strtoint(ComboBox4.Text) to strtoint(ComboBox5.Text) do
begin
// if k > strtoint(ComboBox5.Text) then break;
ii := ilovedephibbs(strtoint(Edit6.Text), j, k, sArr);
if ii = 1 then
ListBox1.Items.Add('成功')
else
ListBox1.Items.Add('错误!');
ListBox1.Items.Add('i:' + inttostr(i) + ' j:' + inttostr(j) + ' k:' + inttostr(k));
application.ProcessMessages;
end;
end;
end;
就是上面这个循环,他变成了个死循环,让我搞了一个小时
在这1个小时里我做了如下调试
1,排除了代码别的地方改变i、j、k的值
2,试着在循环末尾加next --无效
3,屏蔽循环里的唯一函数 ilovedephibbs,有效,不死循环了
4,打开ilovedephibbs,把变量等于的值直接换成数字,也有效
呵呵,有点搞晕了,ilovedephibbs是从串口收发数据的
5,从新启动了电脑 ,还是不行,
最后不得不加上强制中断,各位大虾,这是什么原因?