能在COM+对象的Initialize 方法中创建其它COM+对象吗(100分)

  • 主题发起人 主题发起人 wzg1031
  • 开始时间 开始时间
W

wzg1031

Unregistered / Unconfirmed
GUEST, unregistred user!
情况如下:
在一个COM+对象的Initialize 方法中创建另外的COM+对象.在调试状态下,运行没有问题,但不在调试状态下运行就没有反应.在组件面板中发现,应用启动了,但对象都没有创建.不知是什么原因.并且在组件面板中,手动停运行的COM+应用,过几秒钟,还会自动又运行,必须在手动停止才行.不知大家遇到过此现象没,请各位帮帮忙.
TVeSchemeMDAO = class(TBaseDAO, IVeSchemeMDAO) //TMtsAutoObject
private
FDetail: IVeSchemeDDAO;
// 另一COM+对象
protected
function GetName: widestring;
// 这个方法中调用 FDetail 对象中的方法
...还有其它的方法也要调用FDetail,不想在每个方法中创建FDetail
procedure OnActivate;
override;
procedure OnDeactivate;
override;
public
procedure Initialize;
override;
// 我想在这里创建 FDetail
end;

procedure TVeSchemeMDAO.Initialize;
begin
inherited;
DataOperate := CoDataOperate.CreateRemote(ServerMachine);
DataQuery := CoDataQuery.CreateRemote(ServerMachine);
FDetail := CoVeSchemeDDAO.CreateRemote(ServerMachine);
end;
 
前两年做过,应该可行
 
希望各位大侠说说具体怎么做,这个问题郁闷我好几天了
 
这个问题难道没有人知道?
 
后退
顶部