起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 135|回复: 3

【搞定】[问题]在信息中如何取出当前信息的TBizClassRef 对象?

[复制链接]
发表于 2007-6-29 14:47:34 | 显示全部楼层 |阅读模式
我的目的是想做一个通用的窗体,在信息中调用这个窗体。比如通过字段的OnButtonClick打开这个窗体。这个窗体上只放一个TInfoBroker,TDataSetBroker以及TDocView控件,其TInfoBroker对象可以指定是某个信息,DataSetBroker1.DataSetId 及DocView1.DocClassID 是从信息中传入。

procedure TCommonOperationForm.IniFormObject(AInfoBiz: TBizClassRef; ADataSetId, AShowDodID: String);
begin
    InfoBroker1.BizClassRef := AInfoBiz;
    DataSetBroker1.DataSetId := ADataSetId;
    DocView1.DocClassID := AShowDodID;
  end;

但现在不知道在信息中如何取TBizClassRef传入。
在功能中我常这样做(传入信息,数据集,表现文档),但现在遇到在信息中要将这些对象传入,不知能不能啊?

请版主给个思路!
回复

使用道具 举报

发表于 2007-6-29 15:21:44 | 显示全部楼层
设置InfoBroker的autobroker属性为False
然后直接对InfroBroker.Info赋值
直接指定信息代理所代理的信息
回复 支持 反对

使用道具 举报

发表于 2007-6-29 15:41:37 | 显示全部楼层
1. 信息事件调用子窗体代码:
procedure TBpdSerialNoConfigureInfo.FIELD_SerialNoSQLDataSet_RULE_IDButtonClick(Sender: TObject);
begin
  with CommonFormsRESLib.TCommonOperationChildForm.Create(Context) do
  begin
    try
      IniFormObject(self,'MainSQLDataSet', 'SerialNoRuleGDoc');
      if ShowModal = Business.Forms.Controls.mrOk then
      begin
        jsDialogs.ShowMsg('test','1');
      end;
    finally
      Free;
    end;
  end;
end;

2.子窗体过程代码
procedure TCommonOperationChildForm.IniFormObject(AInfo: TInfo; ADataSetId, AShowDodID: String);
begin
  try
    InfoBroker1.Info := AInfo;
    //InfoBroker1.BizClassRef.BizURL.ID := 'Biz:\TCSCM\BpdSerialNoConfigureInfo.Info';
    DataSetBroker1.DataSetId := ADataSetId;
    DocView1.DocClassID := AShowDodID;
  except
    Dialogs.ShowMessage('传入参数错误');
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2007-9-16 11:43:30 | 显示全部楼层
由于楼主长时间未跟贴,此帖先结,有问题请开新帖.
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-27 15:42 , Processed in 0.038108 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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