不可思意的错误(50分)

  • 主题发起人 主题发起人 biyesheng
  • 开始时间 开始时间
B

biyesheng

Unregistered / Unconfirmed
GUEST, unregistred user!
在如下一过程里
procedure .............
begin
for i:=0 to j do
begin
if not SaveFile(i) then
Exit;
end;
end;

SaveFile函数如下:
function TMainForm.Savefile(index:integer):Boolean
begin
if 不保存 then
Exit
else
保存PageControl中的第i页;
end;

在过程里一调用SaveFile函数不返回for循环里的“end”而是返回到该过程的最后
一个“end”这是怎么回事???
 
这是因为你在 for 循环里加了 Exit ,当然要跳出循环了~~~
 
你的函数根本就没有返回之
所以以运行就返回false
 
你的savefile()函数返回false,就会执行exit退出函数,如果你想中断循环,
应该使用break
 
应该使用break
 
我在SaveFile函数的
else
保存PageControl中的第i页;
后面加了个返回值(result:=True),一切就正常了。
还是轩辕散光厉害不过也多谢卷起千堆雪tyn和DelphiOperator
谢谢了
 
exit改为break
exit是退出本过程
break 是退出循环

 
你得SaveFile的返回值一直为False呀。

function TMainForm.Savefile(index:integer):Boolean
begin
if 不保存 then
begin
result := False;
Exit
end
else
begin
result := True;
保存PageControl中的第i页;
end;
end;
 
后退
顶部