佚名通过本文主要向大家介绍了
请问BSTR、自动化等问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请问BSTR、自动化等问题
描述:
解决方案1:
描述:
我新建一个基于对话框的,支持Automation的程序,给里面的DlgProxy添加一个Method,如
BOOL test(BSTR FAR* number)
{
*number = ::SysAllocString(L"parm");;
return TRUE;
}
在客户程序里调用
BSTR aa;
com.test(&aa);
但就出错,调试过根本就没有进入过test里,应该怎么做?
还有就是现在的automation程序是一个客户调用,他就运行一次,两个客户调用,他又再运行一次,有没有办法令他客户第一次调用以后,就不退出,留在内存里,而即使同时有多个客户调用时,还是保证只有一个automation在运行呢?
请多多指教!!!
解决方案1:
第一方面,错误不在你已给出的代码内,有可以是COM类本身的问题,
第二方面,需要实现客户访问的独立进程必须把工程改为WIN32服务EXE就可以了,具体细节请多看看MSDN
将BSTR aa;改成 BSTR aa=NULL;学com一定要从SDK开始
解决方案3:你需要的是提供服务
解决方案4:出错信息是什么?你要保持不退出那你就写成服务!

