⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_28183.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:28183 发表者:ccxopen 发表日期:2003-01-18 20:35:49
<br>主题:DLL问题,请教。。。。。。。。。。
<br>内容:我从CStatic派生出CHyperLink类,并放在DLL中。DLL文件有两个导出函数,CreateCHyperLink返回CHyperLink对象指针,并调用Create函数产生窗口。ShowHyperLink用来显示窗口。两函数如下:<BR>_declspec(dllexport) void* CreateCHyperLink(LPCTSTR lpszText,RECT rect,CWnd* pParentWnd,UINT nID)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CHyperLink *hyperLink=new CHyperLink;<BR>&nbsp;&nbsp;&nbsp;&nbsp;hyperLink-&gt;Create(lpszText,WS_CHILD,rect,pParentWnd,nID);<BR>&nbsp;&nbsp;&nbsp;&nbsp;return (void*)hyperLink;<BR>}<BR><BR>_declspec(dllexport) void ShowHyperLink(CHyperLink *hyperLink)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;hyperLink-&gt;ShowWindow(SW_SHOW);<BR>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(NULL,"dddddddddd","eeeeeeee",MB_OK);//仅用来测试程序有没有执行到此处,答案是有。<BR>}<BR><BR>调用DLL的CPP文件中如下使用:<BR>CHyperLink *hyperLink;<BR>_declspec(dllimport) void* CreateCHyperLink(LPCTSTR lpszText,RECT rect,CWnd* pParentWnd,UINT nID);//声明<BR>hyperLink=(CHyperLink *)CreateCHyperLink("ddddd",CRect(0,0,50,50),&amp;pFrame-&gt;m_wndView,5);<BR><BR>_declspec(dllimport) void ShowHyperLink(CHyperLink *hyperLink); //声明<BR>ShowHyperLink(hyperLink);<BR><BR>没有错误,但并没有显示CHyperLink类窗口。hyperLink的值也不是NULL,我不知什么地方出错了。<BR><BR>换一种方式是,不用DLL,直接用CHyperLink的头文件与实现文件加入工程,类似上面的调用,<BR>CHyperLink *hyperLink=new CHyperLink;<BR>hyperLink-&gt;Create(lpszText,WS_CHILD, CRect(0,0,50,50),&amp;pFrame-&gt;m_wndView,5);<BR>hyperLink-&gt;ShowWindow(SW_SHOW);<BR>则完全没问题,显示正确。<BR><BR>请问到底什么原因,用DLL方式的不行呢。<BR><BR><BR>2003-1-18 23:04:12

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -