起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 154|回复: 9

【结帖】怎样用系统空间下的一个已做好的窗体**

[复制链接]
发表于 2008-5-21 13:53:39 | 显示全部楼层 |阅读模式
我想用系统空间-用户界面基础-界面库-系统接口下的一个已做好的窗体,叫“简单sql条件构造窗体”,这个正是我想要的,我应该怎样调用它?里面的代码是否用修改?请说的详细的一点。谢谢。
回复

使用道具 举报

发表于 2008-5-21 14:56:01 | 显示全部楼层
类似于这样调用(需要在项目管理中引用该资源集)
procedure TMainForm.Button1Click(Sender: TObject);
var
  lStr : String;
begin
  //BASESYSTEMINTERFACE.TSIMPLESQLFILTERBUILDFORM.Create(Context);
  BASESYSTEMINTERFACE.TSIMPLESQLFILTERBUILDFORM.BuildSQLFilter(TBizDataSet(DataSetBroker1.DataSet),lStr);
  jsDialogs.showmsg(lstr,'');
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-21 15:36:35 | 显示全部楼层

运行后报错。

运行后报错。如图

运行.jpg

236.97 KB, 下载次数: 98

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-21 15:44:19 | 显示全部楼层

我引用的对吗?

如图

引用.jpg

247.01 KB, 下载次数: 95

回复 支持 反对

使用道具 举报

发表于 2008-5-21 15:52:18 | 显示全部楼层
编译看看,另 需要传入一个数据集。
回复 支持 反对

使用道具 举报

发表于 2008-5-21 15:58:03 | 显示全部楼层
另外,楼主,用上面的方法不太好,最好这样用
需要引用业务模型\系统空间\系统运行库\系统核心库
procedure TMainForm.Button2Click(Sender: TObject);
var
  lStr : String;
begin
  SystemCore.TSYSTEMCORE.SystemInterface.BuildSQLFilter(TBizDataSet(DataSetBroker1.dataSet),lStr);
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 09:56:41 | 显示全部楼层

我这儿datasetbroker的属性不知怎么写

我们领导的意思是不在x3里建表,而是我们的机器(client)都连服务器A,A上早已建了一个dblink,这个dblink指向的是另一台erp服务器B的一个数据库,oracle型。我们就这样client----A----B.ERP,通过这样一条3点链路实时看B中的表。所以我的datasetbroker中的datasetID和infobroker不知写什么。
我新建了一个窗体,加了一个按钮,加了一个datasetbroker,引入核心库,然后拷进zfang老师的语句,运行后点击按钮报错

点击按钮后报错.jpg

115.71 KB, 下载次数: 87

回复 支持 反对

使用道具 举报

发表于 2008-5-22 10:13:21 | 显示全部楼层
datasetbroker是数据集代理,代理信息层中的某一个数据集。
你最好建立一个信息层,信息层中建一个数据集,然后把业务信息分配给功能,这样通过datasetbroker就能访问到具体的某一个数据集了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 15:01:04 | 显示全部楼层

ok了,太感谢了!

我把表都映射过来了,然后建了业务信息层和功能层,在功能层了引入了核心库,并在功能层添加了datasetbroker,infobroker,funcbroker和一个按钮,在按钮单击事件里把您的那几句话写进去,已运行就ok啦。谢谢。结帖吧。
回复 支持 反对

使用道具 举报

发表于 2008-5-22 15:02:52 | 显示全部楼层
好的,谢谢反馈。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 16:56 , Processed in 0.045706 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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