起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 175|回复: 8

【结贴】SystemCore.TSystemCore.FuncManager.RunFunc函数问题?**

[复制链接]
发表于 2008-12-1 11:07:11 | 显示全部楼层 |阅读模式
用函数打开一个模态的流程入口功能:''Biz:BLXTGLXTGZRWSL.Func'',之后代码流转, SystemCore.TSystemCore.FuncManager.RunFunc(Context,'','Biz:BLXTGLXTGZRWSL.Func','',false,nil,true);   当整个应用程序关闭后弹出异常如图。如果把函数最后参数改为false不会有异常。不知是不是有什么关于流程的资源没有释放还是其他什么原因?

aaaaaaaaaaaaaaaaaaa.jpg

6.32 KB, 下载次数: 117

回复

使用道具 举报

发表于 2008-12-1 11:23:10 | 显示全部楼层
呵呵,这个楼主很容易判断出来的,
你做一个普通的功能,就写这一句代码,然后测试看看,

如果测试还是有问题,那么把你调用的功能中的代码先屏蔽掉看看,

如果代码都屏蔽还是有问题,请告知你用的版本号是多少?
并是否修改过系统空间和协同空间下的内容

RunFunc这个调用应该是没有问题的,这个测试过
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-1 11:55:54 | 显示全部楼层
测试过,调用另外的非流程功能是没有问题的。可我一楼的功能是流程的某功能环节,就有问题了。所以怀疑是不是某些关于流程的资源没有释放。
回复 支持 反对

使用道具 举报

发表于 2008-12-1 13:15:20 | 显示全部楼层
runfunc流程的入口,如果是ShowModal的方式的话会有问题。
回复 支持 反对

使用道具 举报

发表于 2008-12-1 13:21:04 | 显示全部楼层
楼主你这个问题类似
http://bbs.justep.com/forum.php?mod=viewthread&tid=17746
不能showmodel去流转任务,会出很多问题的.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-1 13:22:48 | 显示全部楼层
试了一下,单独跑流程也是有问题的。
到了系统核心库的这个函数:
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这个对象为空~~!
回复 支持 反对

使用道具 举报

发表于 2008-12-1 13:25:47 | 显示全部楼层
请楼主看一下5楼。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-1 14:00:24 | 显示全部楼层
哎~~!换成SystemCore.TSYSTEMCORE.FuncManager.RunFunc(Context.Parent, '', 'Biz:\BLXTGLXT\GZRWSL.Func', '', nil, true)可以了。
回复 支持 反对

使用道具 举报

发表于 2008-12-1 14:08:17 | 显示全部楼层
哦,我们理解错了。以为是是5楼那样用的。结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 21:36 , Processed in 0.038917 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表