O
op
Unregistered / Unconfirmed
GUEST, unregistred user!
|----|--------------------------------------------------------|
| | 1.新建ActiveX Library |
| | 2.新建Transactional Object |
| 服 | CoClass Name: Demo |
| | Threading Model: Apartment |
| | Transaction model: Supports transactons |
| 务 | 3.新建IDemo接口下的方法Test |
| | HRESULT Test(long* b) { *b=88;
return S_OK;} |
| | 4.编辑成DLL |
| 端 | 5.Install COM+ Objects…… |
| | 6.在Win2000的"组件服务"中为这个COM+组件加入角色和权限。|
| | |
|----|--------------------------------------------------------|
| 客 | |
| 户 | 调用这个组件的Test方法,看返回值是不是88; |
| 端 | |
|----|--------------------------------------------------------|
以上方法,
服务端用Delphi做
由Delphi和BCB做的客户端"都调用成功",返回值88。
服务端用BCB做
由Delphi和BCB做的客户端"都调用不成功"(组件对象Create成功,但调用Test失败)
以上实验表明,问题肯定出在服务端。
可这是个超级简单的服务端程序,
99%都是用Wizard做的,代码部分只实现了Test函数,
为什么用BCB建的COM+组件,客户端不能用???
另注:如果这个组件不是安装在COM+环境中,而是以一般的COM方式注册,那一切就正常。