|
VER:
OS:WINXP SP2
CAD: Architecture 2008-Japanese
ARX:ObjectARX2008配套VS2005开发
现象:
1,ARX反应器在CommandEnd中处理“QUIT”,“QUIT”命令执行结束时,调用VB编写的ActiveXDLL来执行一些清理工作。
2,代码如下:
MyReactor::CommandEnd(cmd){
if (cmd == "QUIT")
{
CoInitialize();
CoCreateInatance(CLSID_OFCOM,NULL,CLSCTX_INPROC_SERVER,IID_OFCOMOBJECT, //
(PPVOID)&pV);
pV->myFUN(); //
pV->Release();
......
}
3,CAD打开多个DWG关闭时,弹出是否保存的对话框,第1个对话框选择[是]或[否]时,调试代码执行到CoCreateInatance时,
函数没有返回,直接回到CAD中,弹出第2个文件的保存对话框,此时选择[是]或[否]时,CoCreateInatance正常执行。
当第3个文件保存对话框弹出后,选择[是]或[否]时,CoCreateInatance正常执行,pV指针不为空,但执行pV->myFUN(); 时,
程序崩溃。
4,问:
(1)为什么CoCreateInatance第一次执行的时候没有返回,而是直接跳到CAD?
(2)反应器中不能用CoCreateInatance方法,调用ActiveXDLL吗?
(3)ARX反应器中还有怎样的方法调用ActiveXDLL? |
|