求救:创建Dispatch组件的问题
小弟定义了一个接口IX,这个接口继承自IDispatch,IX实现了如下三个方法:HRESULT Fx();
HRESULT FxInString([in]BSTR bstrString);
HRESULT FxOutString([out,retval]BSTR* pMess);
在创建组件时,我使用LoadTypeLib来加载一个单独的类型库文件(tlb).
我的代理/存根dll使用Win32 DLL工程来创建,而服务器采用Win32 Application工程来创建,客户机采用Win Console工程来创建.客户机与服务器均使用进程内组件形式的接口定义头文件.
当客户端调用FxInString时,组件的方法并没有执行,但返回的HRESULT却是S_OK,而当试图调用FxOutString时,Invoke返回的HRESULT表明无效的被呼叫方.也就是DISP_E_BADCALLEE.
请问各位大侠哪里出了问题,是不是客户端与服务器都必须使用IDL编译生成的接口头文件?
以下是源代码下载地址:
[email=http://tg1b18.mail.]http://tg1b18.mail.[/email]
[[it] 本帖最后由 paerxiushi 于 2008-8-13 21:18 编辑 [/it]]