我写了一个exe的com服务器(对外提供com接口),本身也是一个应用程序,但使用opendialog和savedialog打开“我的文档”时,整个系统都被挂起了,不知道冲突在那里,什么原因啊!

解决方案 »

  1.   

    我的文档也是基础com的,可能和我的com有冲突,可是不知道是在那里冲突了,郁闷
      

  2.   

    代码没法调吗?
    很久没来D区了。
    想办法单步跟一下。
    跟COM冲突怎么可能呢。
    :)
      

  3.   

    一个模态对话框会禁用其父窗口。如果没有指定,那么会禁用当前程序的主窗口。在主窗口被禁用时,一些消息会被忽略,从而阻止应用程序处理特定功能。举例来说,组件对象模型(COM)和DDE的列集调用依赖于消息循环,所以在显示文件打开对话框时,把文件拖入Visual C++窗口不会自动打开文件。这就是为什么一些可能会显示模态对话框的API具有所有窗口句柄参数的原因。
      

  4.   

    我的整个系统都挂起了,而且opendialog也没有响应了,会不会是opendialog阻塞com调度器的消息,而我用opendialog打开“我的文档”时,又要用到com调度器来处理,造成死锁。这该怎么办?opendialog放哪儿才好