我用了BeautyQQ的代码,重新建立一个工程TestQQ可以正常运行,但是往我以前的项目新建立对话框,并按照建立TestQQ时的方法,配置好,并且编译通过了。
但是当调用到:
m_rtClient.left = m_rtClient.right = m_rtClient.top = m_rtClient.bottom = 0;
CString tmp;
tmp=_T("ToolBar");
m_wndTool.Create(tmp.AllocSysString(), WS_CHILD | WS_VISIBLE,
m_rtClient, this, 0);
的时候,TestQQ执行完之后m_wndTool的hWnd值有值,而我原来项目的m_wndTool的hWnd没有值,不知道什么原因?
但是当调用到:
m_rtClient.left = m_rtClient.right = m_rtClient.top = m_rtClient.bottom = 0;
CString tmp;
tmp=_T("ToolBar");
m_wndTool.Create(tmp.AllocSysString(), WS_CHILD | WS_VISIBLE,
m_rtClient, this, 0);
的时候,TestQQ执行完之后m_wndTool的hWnd值有值,而我原来项目的m_wndTool的hWnd没有值,不知道什么原因?
m_rtClient.left = m_rtClient.right = m_rtClient.top = m_rtClient.bottom = 0;
CString tmp;
tmp=_T("ToolBar");
m_wndTool.Create(tmp.AllocSysString(), WS_CHILD | WS_VISIBLE,
m_rtClient, this, 0);
的时候,TestQQ执行完之后m_wndTool的hWnd值有值,而我原来项目的m_wndTool的hWnd没有值,不知道什么原因?
有值没值从哪里看出来的 ?
原来的项目m_wndTool 是不是有问题呢?怎么会没值?
就是我原来的工程是别人的,添加了beautyQQ的代码而已,这段代码是在对话框上实现工具条的效果。
m_rtClient.left = m_rtClient.right = m_rtClient.top = m_rtClient.bottom = 0;
CString tmp;
tmp=_T("ToolBar");
m_wndTool.Create(tmp.AllocSysString(), WS_CHILD | WS_VISIBLE,
m_rtClient, this, 0);
的时候,TestQQ执行完之后m_wndTool的hWnd值有值,而我原来项目的m_wndTool的hWnd没有值,不知道什么原因?
有值没值从哪里看出来的 ?
原来的项目m_wndTool 是不是有问题呢?怎么会没值?
---------
m_wndTool的初始化都一样的,APP中也都加入了初始化代码,TestQQ是我新建立的一个工程,原来的项目没有m_wndTool,是我新添加的,但已经给了初始化了.
--- 这个创建,是不是返回成功了
我发现原来工程是采用shared library方式,新建的项目是static dll方式的,不知道有没有影响,代码是别人以前维护的,我改成static dll方式的时候出现一大堆外部错误.
就是这个原因,我用新建立的项目改成shared library也是返回失败,改成static dll就返回成功,
这个到底怎么回事的? 另外改成static dll之后,原来的那些外部错误不知道怎么处理?