找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1110|回复: 6

[ARX函数]:求教自定义类的用法

[复制链接]
发表于 2005-1-10 20:44:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我看到ARX的docsample目录里面有几个是自定义类的例子,比如icon,mesh等等。
我后来建立个工程,也定义个类,newtype.cpp,其中的定义和实现全部是拷贝icon的icon.cpp中的自定义类的那部分代码,可是这样虽然编译不成问题,可是运行的时候去发送非法读内存错误!!
不知是为什么。希望高手和老手们不吝赐教下。谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-1-10 22:24:44 | 显示全部楼层
ok
请不要把.h和.cpp文件和在一个文件里,极为不好的习惯,给编译带来很大麻烦!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-11 08:16:03 | 显示全部楼层

嗯。这个我知道。不过不是问题所在

最初由 binbin 发布
[B]ok
请不要把.h和.cpp文件和在一个文件里,极为不好的习惯,给编译带来很大麻烦!! [/B]

嗯。这个我知道,分开来放是习惯不好,不过现在为了说明问题,为了方便这样了。不过分开来不是这个问题的原因所在阿。分开来也是一样的错误呢。
我调试呢地程序也是一样阿。加载的时候autocad报错说:
说ASSERT失败。
如果终止的话,arx就加载不了,如果我ignore的话,则说:

警告: G:\work\arxtest\icon22\icon2\FullDebug\cicon2.arx 从 MSVCRTD.DLL 中分配内存
但是AutoCAD 使用MSVCRT.DLL 的内存“


运行后倒是可以画出图形的。
奇怪???


您的代码就是改动了:
ACRX_DXF_DEFINE_MEMBERS(AsdkIconSamp, AcDbEntity,
                                                 AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent,
                        AcDbProxyObject::kNoOperation,
                                                 ASDKICONSAMP,Icon Sample);
阿。




然后我又抄您的代码,重新建立一个工程,可是运行还是那个非法读取内存的错误!郁闷。我再发送上去,麻烦您瞧瞧
感激不尽。!!!不好意思阿。新手



算了,可能这个代码比较繁琐。
能否发个最简单的自定义类的例子,比如只画一条线的那种。谢了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-25 15:05:11 | 显示全部楼层
希望你们的讨论能对我有所帮助啊,我也刚学啊,谢谢,我下来看看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-26 02:23:52 | 显示全部楼层
学习中……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-26 09:21:15 | 显示全部楼层
问题出在下面,没有加入必要的程序代码,加入后问题就可以得到解决

一、在初始化函数中 InitApplication()加入下面两行代码
1、AsdkIconSamp::rxInit();
2、acrxBuildClassHierarchy();

二、在卸载函数中UnloadApplication()加入下面这行代码
deleteAcRxClass(AsdkIconSamp::desc());
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-26 20:40:27 | 显示全部楼层
没有必要编译FullDebug,只有编译Debug就行了,其实

1、AsdkIconSamp::rxInit();
2、acrxBuildClassHierarchy();

二、在卸载函数中UnloadApplication()加入下面这行代码
deleteAcRxClass(AsdkIconSamp::desc());

我已经加上了,

如果你想对比两个工程的不同,可以使用Windiff  ,他在
「开始」菜单\程序\Microsoft Visual Studio 6.0\Microsoft Visual Studio 6.0 Tools
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-22 20:31 , Processed in 0.367834 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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