试了一下,单独跑流程也是有问题的。
到了系统核心库的这个函数:
procedure TFuncManager.FreeFunc(Func: TFunc);
var
P: TContext;
F: TFlowControl;
begin
F := nil;
try
try
P := Func.Context.Parent;
if (P <> nil) and (P.Owner is TFlowControl) then
F := TFlowControl(P.Owner);
finally
Func.Free;
end;
finally
if F <> nil then F.Free;
end;
end;
其中到了 Func.Free; 这句就有问题了。发现F这个对象为空~~!