y1983412529 发表于 2008-3-7 16:28:00

利用vs.net2003进行ARX编程时运行出错,请高手支招!

<p>我在利用vs.net2003+arx2006+autoCAD2006的组合进行cad二次开发时,使用停靠对话类的CAcUiDockControlBar的函数Create(Wnd * pParent,LPCTSTR lpszTitle,UINT nID,DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,const RECT &amp; rect = CFrameWnd::rectDefault);<br/>时运行应用程序出错,运行时弹出错误对话框显示“未处理的异常C0000005(Access Violation Reading 0x0000),地址:7c15976h”。经检查是Create函数的CWnd * pParent出错。<br/>源程序部分代码如下:</p><p>CDockControlBar*&nbsp; dockBar = NULL;</p><p>dockBar-&gt;Create(acedGetAcadFrame(), "DockControlBar");</p><p><br/>BOOL CDockControlBar::Create(CWnd* pParent, LPCSTR lpszTitle)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CString strWndClass;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strWndClass = AfxRegisterWndClass(CS_DBLCLKS, LoadCursor(NULL, IDC_ARROW));<br/>&nbsp;&nbsp;&nbsp;&nbsp; CRect rect(0,0,250,250);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; if (!CAcUiDockControlBar::Create(strWndClass, lpszTitle, VISIBLE|WS_CHILD|WS_CLIPCHILDREN,rect,pParent,0))</p><p>&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (FALSE);<br/>&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; return (TRUE);<br/>}</p><p>//程序运行至if语句时出错,其中pParent所传递的参数为acedGetAcadFrame(),当pParent=NULL时,运行不会出错。<br/>请高手相助!</p>

bluelightcsy 发表于 2008-3-10 10:07:00

楼主大哥?<p>CDockControlBar*&nbsp; dockBar = NULL;</p><p>dockBar-&gt;Create(acedGetAcadFrame(), "DockControlBar");</p><p>弱弱问一下,这两句是连着的吗?</p>

y1983412529 发表于 2008-3-10 19:28:00

<p>不好意思!在CDockControlBar*&nbsp; dockBar = NULL;之后还有一句:</p><p>dockBar = new CDockControlBar;</p><p>编辑帖子的时候,删掉了!</p>

bluelightcsy 发表于 2008-3-11 11:32:00

还是没明白你的逻辑。。。你的CDockControlBar是撒?从CAdUi派生出来的?方便就发个工程上来。帮你调一下。

y1983412529 发表于 2008-3-12 09:49:00

CDockControlBar是继承CAcUiDockControlBar创建的新类,工程文件夹,详见附件,麻烦bluelightcsy大哥看一下!

y1983412529 发表于 2008-3-12 10:47:00

bluelightcsy 发表于 2008-3-12 11:18:00

<p>为什么要传三个?论坛有限制吗?大小?我没传过,呵呵!下次传压缩文件请用Zip格式,谢谢。RAR是盗版软件。。。。公司不准用。外企比较严格。保护知识产权:)</p>

bluelightcsy 发表于 2008-3-12 11:20:00

我找网友帮我解压的。。。我看一下,尽快给你回复。

bluelightcsy 发表于 2008-3-12 11:47:00

<p>我试了啊。。。没有问题啊,可以加载成功,点击也有反映啊。并没你提到的create不成功的问题。</p><p>我只把你的code改成了unicode版本,因为我的CAD是最新的,其他没有改动。</p>

y1983412529 发表于 2008-3-12 17:43:00

我上传了大于200k就不行,只能上传不大于200K的文件,所以我分卷压缩的,我换了台电脑用上面的CAD2006运行时也出现问题。
页: [1] 2
查看完整版本: 利用vs.net2003进行ARX编程时运行出错,请高手支招!