我在ATL类中声明了一个对话框变量,但是在该类的函数中调用显示函数就出错!!
但是在该函数中声明变量,然后在调用显示就没问题!!
代码如下:class ATL_NO_VTABLE CCommFace : 
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCommFace, &CLSID_CommFace>,
public IDispatchImpl<ICommFace, &IID_ICommFace, &LIBID_DLLCOMMLib>
{
public:
CCommFace()
{
}DECLARE_REGISTRY_RESOURCEID(IDR_COMMFACE)DECLARE_PROTECT_FINAL_CONSTRUCT()BEGIN_COM_MAP(CCommFace)
COM_INTERFACE_ENTRY(ICommFace)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()// ICommFace
public:
MyDialog Dialog;
STDMETHOD(Disp)();
};
STDMETHODIMP CCommFace::Disp()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()) // TODO: Add your implementation code here         
        MyDialog lg;
lg.DoModal();
          //当执行到这里没事,接下来就出错了
             Dialog.DoModal(); return S_OK;
}