📄 subject_28183.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> CHyperLink *hyperLink=new CHyperLink;<BR> hyperLink->Create(lpszText,WS_CHILD,rect,pParentWnd,nID);<BR> return (void*)hyperLink;<BR>}<BR><BR>_declspec(dllexport) void ShowHyperLink(CHyperLink *hyperLink)<BR>{<BR> hyperLink->ShowWindow(SW_SHOW);<BR> 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),&pFrame->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->Create(lpszText,WS_CHILD, CRect(0,0,50,50),&pFrame->m_wndView,5);<BR>hyperLink->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 + -