起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 319|回复: 14

【结帖】同样的代码写在不同的Library中,一个出现错误?**

[复制链接]
发表于 2008-3-13 09:15:17 | 显示全部楼层 |阅读模式
unit TaskPubFunc;

interface

uses
  Business.System, Business.Model, Business.Model.Flow, Business.Model.Org;

type
  TTaskPubFunc = class(TBizLibrary)
  private
    {private declarations}
  public
    procedure UserStartFlow(AFlowUrl,ADept,ARole,APerson,AStartProc,AFlowID,
      ASubject,ADescription:string);
  
implementation
procedure TTaskPubFunc.UserStartFlow(AFlowUrl, ADept, ARole, APerson, AStartProc, AFlowID,
  ASubject, ADescription:string);
var
  lBizURL: TBizURL;
  lFlowValue: TFlowValue;
  lFlowControl: TFlowControl;
  lExecutor: TOrgURL;
begin
  lBizURL := TBizURL.Create;
  lFlowValue := TFlowValue.Create;                    //流程实例
  lFlowControl := TFlowControl.Create(Self.Context);  //流程控制组件
  lExecutor := TOrgURL.Create(ADept, ARole, APerson); //执行者
  lBizURL.URL := AFlowUrl;                            //流程url
  try
    lFlowValue.IDs.Add(AFlowID);                      //流程ID
    lFlowValue.Subject := ASubject+AFlowID;          //流程主题
    lFlowValue.Description := ADescription;           //流程描述
    //启动流程实例           过程url  环节ID      执行者     流程实例值
    lFlowControl.StartupFlow(lBizURL, AStartProc, lExecutor, lFlowValue);
    //流程发送者信息
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SenderDeptID := ADept;
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SenderPositionID := ARole;
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SenderID := APerson;
    //流程实例数据保存到数据库
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SaveToDB;
  finally
    lFlowControl.Free;
    lFlowValue.Free;
    lBizURL.Free;
  end;
end;
回复

使用道具 举报

发表于 2008-3-13 09:34:22 | 显示全部楼层
那你不出错的代码贴出来看看呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 09:44:28 | 显示全部楼层
procedure TTaskPubFunc.UserStartFlow(AFlowUrl, ADept, ARole, APerson, AStartProc, AFlowID,
  ASubject, ADescription:string);
var
  lBizURL: TBizURL;
  lFlowValue: TFlowValue;
  lFlowControl: TFlowControl;
  lExecutor: TOrgURL;
begin
  lBizURL := TBizURL.Create;
  lFlowValue := TFlowValue.Create;                    //流程实例
  lFlowControl := TFlowControl.Create(Self.Context);  //流程控制组件
  lExecutor := TOrgURL.Create(ADept, ARole, APerson); //执行者
  lBizURL.URL := AFlowUrl;                            //流程url
  try
    lFlowValue.IDs.Add(AFlowID);                      //流程ID
    lFlowValue.Subject := ASubject+AFlowID;          //流程主题
    lFlowValue.Description := ADescription;           //流程描述
    //启动流程实例           过程url  环节ID      执行者     流程实例值
    lFlowControl.StartupFlow(lBizURL, AStartProc, lExecutor, lFlowValue);
    //流程发送者信息
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SenderDeptID := ADept;
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SenderPositionID := ARole;
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SenderID := APerson;
    //流程实例数据保存到数据库
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SaveToDB;
  finally
    lFlowControl.Free;
    lFlowValue.Free;
    lBizURL.Free;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2008-3-13 09:47:25 | 显示全部楼层
TTaskPubFunc 是资源集还是功能?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 09:51:34 | 显示全部楼层
type
  TTaskPubFunc = class(TBizLibrary)
  private
    {private declarations}
  public
    procedure UserStartFlow(AFlowUrl,ADept,ARole,APerson,AStartProc,AFlowID,
      ASubject,ADescription:string);
    procedure UserStartTask(AFuncURL, ATaskTypeName, ATaskTypeID, ASubject,
      ABizField, ABizFieldValue, ADept, APosition, APerson : string);
  end;
我给的代码,都是你们给的,我把这段代码复制到我的Library下编译出错
回复 支持 反对

使用道具 举报

发表于 2008-3-13 10:14:55 | 显示全部楼层
3楼的代码放在功能中,信息中都可以,因为功能和信息都有环境Context
放在资源集中就不行了,因为资源集没有环境Context
如果放在资源集,就要多传递一个参数Context了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 10:19:01 | 显示全部楼层
那为什么你们的代码编译没有问题?


这是你们的代码

1.rar

1.11 MB, 下载次数: 102

回复 支持 反对

使用道具 举报

发表于 2008-3-13 10:21:33 | 显示全部楼层
6楼说的很清楚了,关键在于代码写在哪里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 10:43:39 | 显示全部楼层
TBizLibrary  跟普通的类有什么区别?   你们原来代码写在 超类是 TBizLibrary的类中。我写在普通的类中就不行。(但是都是写在资源集中的)
回复 支持 反对

使用道具 举报

发表于 2008-3-13 10:49:06 | 显示全部楼层
1楼的类定义请贴完整
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 19:33 , Processed in 0.047024 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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