在VC中生成的对话框,怎么在标准的DLL中显示不出来呢?没有出错信息,就是不给显示,如何解决,难道只能使用API么?

解决方案 »

  1.   

    Yes, you have to use the Win32 API MessageBox() instead of the MFC counterpart AfxMessageBox() when developing Win32 DLLs.
      

  2.   

    那我需要一个简单点的对话框,包括Edit,Button等的内容,该如何做呢?用API很麻烦
      

  3.   

    you should add  AFX_MANAGE_STATE(AfxGetStaticModuleState()); 
      

  4.   

    加过了,不行,我调用的父程序没有窗口,出现ASSERT错误.
      

  5.   

    注意用dll中的资源SetResource.....(忘了)
    之前要AFX_MANAGE_STATE(AfxGetStaticModuleState())
      

  6.   

    鉴于你说的问题,我觉得很有可能是由于DLL生存期的原因导致你的对话框出不来。自己检查一下代码。
      

  7.   

    看看,这篇希望你能得到答案~http://expert.csdn.net/Expert/topic/1573/1573546.xml?temp=.5848505
      

  8.   

    看来是不行了,我用的是VC生成的Win32DLL,只能用API函数创建窗口了
      

  9.   

    你的问题我前些天刚遇见过,解决了.
    前两天刚在这里发了关于这个问题的帖子.
    http://expert.csdn.net/Expert/topic/1568/1568812.xml?temp=.3954431
    还整理了FAQ,看来FAQ没人看.哼,以后不整理了.你遇见的问题,微软承认那是VS6.0的一个Bug,在Visual C++ 6 Service pack 3补丁里已经解决。当然,在不打补丁的情况下也可以解决。看看我给你的链接的最后一个回复就知道了。