起步软件技术论坛-X3

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

【结贴】如果我想通过功能中一个button打开另一个功能,并且通过本功能中的某个字段对

[复制链接]
发表于 2007-12-5 11:10:06 | 显示全部楼层 |阅读模式
如果我想通过功能中一个button打开另一个功能,并且通过本功能中的某个字段对打开功能的信息进行过滤应该如何写呢?
回复

使用道具 举报

发表于 2007-12-5 11:14:00 | 显示全部楼层
修改被打开功能的数据集sqlfilter
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 11:18:45 | 显示全部楼层
这个代码有例子么?
比如新功能是'Biz:\LZ\CKWDGDNR.Func',在代码中语句应该怎么写。
回复 支持 反对

使用道具 举报

发表于 2007-12-5 11:27:31 | 显示全部楼层
在功能运行前,给他的环境增加一个策略
例如:
procedure TMAINFORM.Button2Click(Sender: TObject);
begin
  SystemCore.TSystemCore.FuncManager.RunFunc(Context.GetParentContext(BizSys.IL_POSITION), '', 'Biz:\LZ\CKWDGDNR.Func', edtParams.Text, BeforeRunSubFunc, False);
end;

procedure TMAINFORM.BeforeRunSubFunc(Sender: TObject; Func: TFunc);
var
  lPolicy: TSememicDataPolicy;
begin
  lPolicy := TSememicDataPolicy.Create(Func);
  lPolicy.BizRange.Text := '&[Biz:\OPERATION\BFDBizList.ElementGroup\BEProduct.Element]=1';
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-6 09:03:40 | 显示全部楼层
不好意思,没怎么看懂语句,囫囵吞枣的复制了过去。

procedure TDESKTOPDOCChild.Label2Click(Sender: TObject);
begin
  Inherited;
[B]  SystemCore.TSystemCore.FuncManager.RunFunc(Context.GetParentContext(BizSys.IL_POSITION), '', 'Biz:\COLLABORATION\JUSTEPMAIL.FUNC', edtParams.Text, BeforeRunSubFunc, False);[/B]
end;
黑体字部分报错:
[错误]Biz:\MASTERMIND\XTGL\INFO\YJXX.INFO.DIR\DESKTOPDOCChild.FormDoc.PAS(28, 3): Undeclared identifier "SystemCore"

还有下面的这个策略是做什么用的,靠什么条件触发呢?
procedure TDESKTOPDOCChild.BeforeRunSubFunc(Sender: TObject; Func: TFunc);
var
  lPolicy: TSememicDataPolicy;
begin
  lPolicy := TSememicDataPolicy.Create(Func);
  lPolicy.BizRange.Text := '&[Biz:\OPERATION\BFDBizList.ElementGroup\BEProduct.Element]=1';
end;
谢谢。
回复 支持 反对

使用道具 举报

发表于 2007-12-6 11:48:40 | 显示全部楼层
这个策略和在建模工具上的功能设计器建立的数据策略是一样的。
代码编译不过:
你需要引用系统核心库。
回复 支持 反对

使用道具 举报

发表于 2007-12-6 11:57:03 | 显示全部楼层
Undeclared identifier "SystemCore"
这个错,是需要在功能的项目管理上,引用“业务模型\系统空间\系统运行库\系统核心库”这个对象

RunFunc 后面的参数含义参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=13875
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-8 09:12:18 | 显示全部楼层
现在还是在5楼的报错位置报错:
[错误]Biz:\MASTERMIND\XTGL\INFO\YJXX.INFO.DIR\DESKTOPDOCChild.FormDoc.PAS(59, 134): Undeclared identifier "edtParams"
把edtParams用''代替后编译通过,但运行时又出现对Context.GetParentContext(BizSys.IL_POSITION)报错了,说:“在当前环境链中,隔离级为[POSITION]的不存在。”

.                                                                                                                                                                                   .
.                                                                                                                                                                                   .
回复 支持 反对

使用道具 举报

发表于 2007-12-8 10:25:35 | 显示全部楼层
这个edtParams,改成'',就好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-8 10:45:11 | 显示全部楼层
看8楼第二行,改了,报了个新错:(
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-1 22:30 , Processed in 0.040721 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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