关于跃出过程
关于跳出过程
比如现在有个过程a
begin
..语句1
exit;
..语句2
end;
下面有个过程b
begin
..语句11
a;
……语句12
end;
现在是我在b中调用了a,执行语句11,然后如果a执行完语句1跳出了a过程,那么我想让b过程也跳出不再执行下面的语句12,要如何做到
------解决方案--------------------
把a改成function,在b里检查a的返回值。
------解决方案--------------------
楼上说得没错:
还可以使用全局变量来标识(但有朋友批评过我:变量以全局为耻,自己掂量吧):
------解决方案--------------------
比如现在有个过程a
begin
..语句1
exit;
..语句2
end;
下面有个过程b
begin
..语句11
a;
……语句12
end;
现在是我在b中调用了a,执行语句11,然后如果a执行完语句1跳出了a过程,那么我想让b过程也跳出不再执行下面的语句12,要如何做到
------解决方案--------------------
把a改成function,在b里检查a的返回值。
------解决方案--------------------
楼上说得没错:
...
function a: boolean;
begin
Result:=true;
...语句1
exit;
...语句2
Result:=false;
end;
procedure b;
begin
...语句11
if a then exit;
...语句12
end;
...
还可以使用全局变量来标识(但有朋友批评过我:变量以全局为耻,自己掂量吧):
...
implementation
{$R *.dfm}
var aExit;
procedure a: boolean;
begin
...语句1
exit;
...语句2
aExit:=false;
end;
procedure b;
begin
...语句11
aExit:=true;
a;
if aExit then exit;
...语句12
end;
...
------解决方案--------------------
function a:boolean;
beign
result:=false;
..语句1
exit;
..语句2
result:=true;
end;
procdure b;
beign
...语句11
if a then
...语句12
end;