目的:
将功能中指定的业务信息和数据集以及表现文档对象作为参数传递到子窗体中(子窗体在资源集中),在子窗体能显示所传递的对象及数据。
我现在的方法是:
1.在业务功能中的“配置项目属性”引入子窗体所在资源集。
2.在业务功能中写调用子窗体代码:
procedure TMainForm.Button1Click(Sender: TObject);
begin
TEST_DATASET.TTEST_SELECTFORM.ShowForm(TEST_INFO.Info,
dsWhere.DataSet,dsResult.DataSet,
'dsQueryWhere', 'QUERYRESULT_G');
end;
3.在子窗体中,放置了TInfoBroker、TDataSetBroker、TDocView,对属性分别设置为:
InfoBroker1 —— AutoBroker := False; AutoOpenInfo := False
DataSetBroker1 —— InfoBroker :=InfoBroker1
DocView1 —— InfoBroker :=InfoBroker1
代码如下:
static procedure TTEST_SELECTFORM.ShowForm(AInfo: TInfo;
AdsQueryWhere,AdsQueryResult: TDataSet;
AWhereDataSetID, AResultDodID: String);
var
lForm: TTEST_SELECTFORM;
begin
lForm:= TTEST_SELECTFORM.Create(nil);
try
lForm.InfoBroker1.Info := AInfo;
lForm.dsQueryWhere.DataSet := AdsQueryWhere;
lForm.DocView1.DocClassID := AResultDodID;
lForm.InfoBroker1.AutoBroker := True;
lForm.InfoBroker1.AutoOpenInfo := True;
except
Dialogs.ShowMessage('传入参数错误');
end;
lForm.ShowModal;
end;
问题:子窗体中被调用打开后为空。
请问这种情况该如何处理? |