起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1479|回复: 0

如何用代码调用指定功能

[复制链接]
发表于 2004-5-26 14:33:29 | 显示全部楼层 |阅读模式
代码调用功能有两种方法,这两种方法功能层定义的策略等都可以起作用,后一种RunFunc的方法,还会进一步检查当前操作者是否有运行被调用功能的权限。

1、通过业务功能代理FuncBroker运行某一个功能,代码如下:
{ 指定要运行功能的URL }
FuncBroker.BizClassRef.BizURL.URL := 'Biz:\GYSYWKJ\KBYWGN.Func';
{ Run功能 }
FuncBroker.Func.Run('');
{ 指明功能主窗体的父容器,即在哪里运行功能 }
FuncBroker.Func.MainForm.Parent := PageControl1.ActivePage;
{ 将窗体SHOW出来}
FuncBroker.Func.MainForm.Show;

例如:
procedure TMainForm.Button1Click(Sender: TObject);
var
  lBizClassURL:TBizClassURL;
  lFunc:TFunc;
begin
  lBizClassURL:=TBizClassURL.Create;
  try    lBizClassURL.BizURL.URL:='Biz:\SPCZFERPXT\FUNC\ZJGZXMMC.Func';
    lFunc:=Context.GetBizObject(lBizClassURL) as TFunc;
    lFunc.Run('');
   lFunc.MainForm.Show;
  finally
    lBizClassURL.Free;
  end;
end;



2、调用系统空间\系统运行库\系统核心库中提供的RunFunc方法,(通过RunFunc,需要在组织机构中给当前调用的这个操作者分配调用的功能)RunFunc 是一个overload的方法,有三种调用方式,原型分别如下:

2.1、function RunFunc(AContext: TContext; const AUniqueID, AFuncURL,
AParams: string): TFunc; overload;

2.2、function RunFunc(AFuncItem: TOperatorFuncItem; const AParams:
string): TFunc; overload;

2.3、function RunFunc(const AFuncURL, AParams: string): TFunc; overload;

一般使用最后一种方式调用,代码如下:
SystemCore.TSystemCore.FuncManager.RunFunc('Biz:\GYSYWKJ\KBYWGN.Func', '');
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 01:07 , Processed in 0.039383 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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