起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 554|回复: 29

【搞定】这个出现了好几次了..****[请求]**

[复制链接]
发表于 2007-11-7 10:46:13 | 显示全部楼层 |阅读模式
如图....不知道为什么无缘无故出这个报错出来.... ......

han.jpg

14.6 KB, 下载次数: 273

回复

使用道具 举报

发表于 2007-11-7 11:18:05 | 显示全部楼层
1、你在运行啥功能的时候报出来的?是你自己做的功能吗?
2、是否每次都能重新?从错误信息看你传进去的环境为空了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-7 11:47:26 | 显示全部楼层
最初由 atiger 发布
[B]1、你在运行啥功能的时候报出来的?是你自己做的功能吗?
2、是否每次都能重新?从错误信息看你传进去的环境为空了 [/B]

1 流程开始的时候..在流转时报的错..是自己做的功能.
2.每次流转的时候都是这样的报错...功能权限付给其他人员也是同样的错误...
回复 支持 反对

使用道具 举报

发表于 2007-11-7 13:22:57 | 显示全部楼层
那你跟了吧,错误代码停到哪里了?
你自己的代码是否用到了环境呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-7 14:43:57 | 显示全部楼层
最初由 atiger 发布
[B]那你跟了吧,错误代码停到哪里了?
你自己的 [/B]



代码是一样的...其他功能也用到了相同的代码....可是并没有报错....
代码是否用到了环境呢?
用到了环境的了...有关系么?
回复 支持 反对

使用道具 举报

发表于 2007-11-7 14:56:31 | 显示全部楼层
似乎是你用那个环境的时候,环境已经为空了。  
错误代码停到哪里了? 你的代码哪里用到了context?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-7 15:25:14 | 显示全部楼层
用到的相关代码如下不知道那个地方出错..)
//流程第n个功能流转之后
//******************************************************
//*参数说明
//lFlowTask:TFlowTask;
//lFlowTask:=Command.FlowTasks[0];
//ANextPersonID:=lFlowTask.Executors.Items[0].PersonID;
//ANextFuncURL:=lFlowTask.FuncURL.URL;
//上面是在实际的AfterFlowOut()中先获得值
//*ANextPersonID:流程流转后,下一个处理人ID
//*ANextFuncURL:下一个能能的URL
//*APassDay:经过天数。=用当前时间-数据库中的开始时间
//*****************************************************
procedure TGZJD.AfterFlowUpdata(ANextPersonID,ANextFuncURL,APassDay:string);
var
updatesql,strLcid,strXzhj,strClrid,strGwid,strClrbmid,strFuncurl,det,name:string;
lContextCurrent: Business.Model.TContextCurrent;
upset:TSQLDataSet;
//常量定义
const strNext='未处理';
const strClzt='已完成';
begin
//环境上下文
lContextCurrent := Business.Model.TContextCurrent.Create(Self.Context);
strLcid:=lContextCurrent.FlowControl.Flow.GUID;
upset:=TSQLDataSet.Create(self);
upset.Database.URL:='Biz:\OABGZDHXT\BGZDHSJK.DATABASE';
//现在环节取值
name:=lContextCurrent.Operator.DisplayName;
det:=lContextCurrent.Dept.DisplayName;
strXzhj:=det+'('+name+')';
//处理人id,岗位id,部门id取值
strClrbmid:=lContextCurrent.Dept.ID;
strGwid:=lContextCurrent.PositionMember.ID;
strClrid:=lContextCurrent.Operator.ID;
//功能URL
strFuncurl:= lContextCurrent.GetDefaultFunc.BizClassURL.BizURL.URL;
updatesql:='UPDATE GZJKB SET  XZHJ ='''+strXzhj+''',CLZT='''+strClzt+''',CLRBMID='''+strClrbmid+''',CLRGWID='''+strGwid+''',CLRID='''+strClrid+''',GNURL='''+strFuncurl+''',JGTS='''+APassDay+''',XYCLRID='''+ANextPersonID+''',XYGRZT='''+strNext+''',XYGNURL='''+ANextFuncURL+''' where Lcid='''+strLcid+'''';
//dialogs.ShowMessage(updatesql);
with upset do
begin
  close;
  sql.Clear;
  sql.Text:=updatesql;
  upset.Execute;
  upset.Close;
end;
end;
procedure TLWXX.FlowBrokerAfterFlowOut(Sender: TObject; Command: TFlowOutCommand);
var
strNextpID,strNextFuncURL,strPassday:string;
lFlowTask:TFlowTask;
strTemp:string;
j:integer;
begin
lFlowTask:=Command.FlowTasks[0];
strNextpID:=lFlowTask.Executors.Items[0].PersonID;
strNextFuncURL:=lFlowTask.FuncURL.URL;
//计算经过天数
strTemp:=DataSetBroker.DataSet.FieldByName('SWRQ').AsString;
strTemp:=Business.System.StrUtils.LeftStr(strTemp,10);
j:=Integer(now()-StrToDate(strTemp));
strPassday:=IntToStr(j);
lForm.AfterFlowUpdata(strNextpID,strNextFuncURL,strPassday);
end;
回复 支持 反对

使用道具 举报

发表于 2007-11-7 15:44:16 | 显示全部楼层
FlowBrokerAfterFlowOut
把这个换到  
CreateFlowOutFlowTasks  这个事件试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-7 16:05:14 | 显示全部楼层
换了,还是报同样的错!!
回复 支持 反对

使用道具 举报

发表于 2007-11-7 16:27:08 | 显示全部楼层
procedure TGZJD.AfterFlowUpdata(ANextPersonID,ANextFuncURL,APassDay:string);
我看到这里用到了环境,且是self,请问 TGZJD这是啥?资源集?功能?

还有5楼说
代码是一样的...其他功能也用到了相同的代码....可是并没有报错....
代码是否用到了环境呢?
用到了环境的了...有关系么?
其他的功能也用到了AfterFlowUpdata这个吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-30 14:41 , Processed in 0.046769 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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