明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2527|回复: 7

[求教]ObjectARX开发出的可停靠窗口停靠CAD边缘问题

[复制链接]
发表于 2014-12-19 10:55 | 显示全部楼层 |阅读模式
本帖最后由 lERICl 于 2014-12-25 09:51 编辑

尊敬的社区版主及各位会员,本人初学ObjectArx开发,按照张帆老师教材,开发出一个可停靠窗体。然而有一个问题,那就是当这个窗体停靠在CAD左右边缘时,一切功能虽然正常,可是当关闭CAD时,使得CAD崩溃。弹出“Unhandled Access Violation Reading 0x63c8 Exception at 499ac3h”对话框。然而当这个窗体脱离边缘或者停靠在CAD上边缘时,关闭不发生崩溃。这现象真是奇怪,搞不懂什么原因造成的。开发环境:Objectarx2004+AutoCAD2004+vs.NET2002,win7 x86

特此来社区请教问题原因,恳请版主及各位会员指教。感谢。

发表于 2014-12-19 16:00 | 显示全部楼层
退出时没有销毁对话框对象吧!
 楼主| 发表于 2014-12-19 16:48 | 显示全部楼层
菡萏 发表于 2014-12-19 16:00
退出时没有销毁对话框对象吧!

可能是这个原因,只是不知在哪里响应AutoCAD关闭时,销毁这个对象。在virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt)里面只能处理手动卸载ARX程序之后的清理,但是无法解决AutoCAD关闭后的清理,貌似关闭cad是自动处理的。因为是新手,所以不知从何下手添加。
发表于 2014-12-21 09:08 | 显示全部楼层
//在应用程序卸载时需要做的动作
void OnUnloadApp()
{
        if(XXXDlg::s_pDlg != NULL)
        {
                XXXDlg::s_pDlg->DestroyWindow();
        }

    acedRegCmds->removeGroup(_T("..."));
}

extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
    switch (msg)
        {
          ...
    case AcRx::kUnloadAppMsg:
        OnUnloadApp();
        InitModule(_hdllInstance, DLL_PROCESS_DETACH, NULL);
        break;
    }
    return AcRx::kRetOK;
}

这样去销毁对话框.CAD退出时,应该不会崩溃了,你试试。
 楼主| 发表于 2014-12-23 10:43 | 显示全部楼层
本帖最后由 lERICl 于 2014-12-23 10:49 编辑
三水合一 发表于 2014-12-21 09:08
//在应用程序卸载时需要做的动作
void OnUnloadApp()
{

首先,谢谢你的建议。这些天又尝试了一下,感觉好像是把这个窗口停靠在CAD边缘,关闭CAD时,可能由于破坏了原来的窗口布局而导致的崩溃。因为尝试过各种销毁对象和窗口的手段均无效。是不是窗口停靠在CAD边缘关闭CAD时,CAD内部要修改什么配置文件,或者是修改注册表什么的,然而却无法保存它现有位置,因此才出现崩溃现象。这只是我的猜测,希望懂得的大神指点一二。
另外,当把停靠在边缘的窗口拖到中间,即脱离边缘,关闭CAD就不会崩溃,故有此猜测。
发表于 2015-1-20 23:12 | 显示全部楼层
在arx2008中有个实例CustPalette,建议你看下
 楼主| 发表于 2015-1-26 17:16 | 显示全部楼层
suker23 发表于 2015-1-20 23:12
在arx2008中有个实例CustPalette,建议你看下

感谢你的提醒,经过各种尝试(能力有限),目测只有这个合适了。CAdUiPaletteSet与CAdUiPalette,这个是不会崩溃的。
发表于 2016-5-8 12:32 | 显示全部楼层
我也遇到了这个问题,R16就是有这个问题,以上版本没有这个问题。有没有办法解决啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-26 03:03 , Processed in 0.655750 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表