起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: dragonsoft

【搞定】流程提交时出现“Access violation ;.....**

[复制链接]
发表于 2007-6-4 11:55:32 | 显示全部楼层
第一个问题,流程不能流转的问题
你在项目信息中的runfunc是
procedure TXMXXForm.RunFunc(const aFuncURL,AParam: String);
begin     //Context.GetParentContext(BizSys.IL_POSITION )                           //
  SystemCore.TSystemCore.FuncManager.RunFunc(Context.GetParentContext(BizSys.IL_POSITION ),aFuncURL+AParam , aFuncURL,
      AParam, nil, False);
end;

在 重点建设项目进度跟踪管理 中,是
procedure TXMJDGZGLForm.actSBExecute(Sender: TObject);
const
  CSB_FUNCURL_JS:string='Biz:\DDB\ZDJSXMJDGZSBFUNC.Func';
  CSB_FUNCURL_QQ:string='Biz:\DDB\ZDQQXMJDGZSB.Func';
// CSB_FUNCURL_QQ:string='Biz:\DDB\FJ_1_ZDJSXMJDGZSB.Func';  //FJ_1_ZDJSXMJDGZSB
var
  lJHID,lURL:String;
  lXMZT:integer;
begin
  if Dsb_xmjd.dataset.isEmpty then exit;
  lXMZT:= Dsb_xmxx.dataset.fieldByName('XMZT').asInteger;
  if lXMZT=10 then lURL:=CSB_FUNCURL_QQ else lURL:=CSB_FUNCURL_JS;
  lJHID:=Dsb_xmjd.dataset.fieldByName('ID').asString;
  sysfuncLib.TFunJustep.runFunc(context,lURL,lJHID);
end;
这里的runfunc是
static procedure TFunJustep.RunFunc(aContext:TContext;const aFuncURL,AParam: String);
begin     //Context.GetParentContext(BizSys.IL_POSITION )                           //
  SystemCore.TSystemCore.FuncManager.RunFunc(aContext,aFuncURL+AParam , aFuncURL,
      AParam, nil, False);
end;


两个runfunc的区别在于,一个是找到岗位环境来运行的,一个是直接在功能环境运行的,其实你只要在运行到这里,打开 对象查看器 ,看看环境链就知道了
回复 支持 反对

使用道具 举报

发表于 2007-6-4 12:06:20 | 显示全部楼层
11楼是直接用Studio看的结果,按照你的描述
协同登录(帐号XH)-功能树中点击[项目信息浏览]-选择一条记录(QQXM-small_real)-点击上方的[项目进度跟踪]-点击[进度上报]

找不到 [进度上报]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-4 12:41:16 | 显示全部楼层
11楼是直接用Studio看的结果,按照你的描述
协同登录(帐号XH)-功能树中点击[项目信息浏览]-选择一条记录(QQXM-small_real)-点击上方的[项目进度跟踪]-点击[进度上报]

找不到 [进度上报]

==有啊,在工具兰那里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-4 12:50:30 | 显示全部楼层
to 11楼:
我把
static procedure TFunJustep.RunFunc(aContext:TContext;const aFuncURL,AParam: String);改成Context.GetParentContext(BizSys.IL_POSITION ) 这中形式的还是那个问题。

而且:     
在 重点建设项目进度跟踪管理 中,是
procedure TXMJDGZGLForm.actSBExecute(Sender: TObject);
是对下面俩功能一样的处理方式,结果是CSB_FUNCURL_JS它的流程是可以提交的。所以应该不只是RunFunc()的问题。
CSB_FUNCURL_JS:string='Biz:\DDB\ZDJSXMJDGZSBFUNC.Func';
  CSB_FUNCURL_QQ:string='Biz:\DDB\ZDQQXMJDGZSB.Func';

麻烦你再测试下。
回复 支持 反对

使用道具 举报

发表于 2007-6-4 13:50:40 | 显示全部楼层
第一个问题的原因不是上面说的
怎么运行都是一样的

问题在于,流程入口这个功能没有分配到执行的这个人身上,我在整个机构上分配了这个功能就可以了
回复 支持 反对

使用道具 举报

发表于 2007-6-4 14:01:24 | 显示全部楼层
第二个错误就跟11楼说的runfunc时候传递的环境有关了
下图是运行起来的对象查看器,你可以看到统计报表功能在前面调用runfunc功能的里面,如果他上面的功能释放了,那么环境链就断开了,也就找不到上面人员环境了,那么数据表中的自动填充人员就会报错了

1.gif

36.72 KB, 下载次数: 106

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-4 14:03:33 | 显示全部楼层
谢谢 第一个问题可以了。
回复 支持 反对

使用道具 举报

发表于 2007-6-4 14:04:33 | 显示全部楼层
关闭跟踪管理功能,可以看到跟踪报表功能已经在环境链中看不到了

1.gif

34 KB, 下载次数: 104

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-4 14:07:30 | 显示全部楼层
谢谢 第二个问题也可以了,非常感谢。 可以结贴了。

隔离级我还是理解不了,虽然帖子看了很多 -_-||
回复 支持 反对

使用道具 举报

发表于 2007-6-4 14:12:43 | 显示全部楼层
多遇到几个隔离级的问题,多困惑几次,就理解了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 05:41 , Processed in 0.043604 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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