明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5145|回复: 10

句柄的概念是什么?

[复制链接]
发表于 2002-10-6 14:45:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2002-10-6 14:45:06 编辑

本人是个新手,准备学习VBA forACAD,有两个简单问题向各位请教,一是句柄(Hnadle)的概念是什么,二是如何用VBA创建象lisp那样可以直接在AutoCAD中命令行中输入命令调用宏过程进行绘制或修改(如同AutoCAD命令一样),好象一般方法都是要先启动宏才能进行操作。
另外这个论坛的人气好象不足,不够同类型的论坛也太少了点。
发表于 2002-10-6 18:52:00 | 显示全部楼层

论坛需要大家支持才会有人气

句柄在图形中是唯一的,图元句柄在图元存在期间是不变的。
对VBA程序的调用可以写简单的LISP程序来调用,或写到菜单中,这样才能象LISP程序一样调用。
另外,本网站开通时间已经将近三年,论坛也开通了一年多时间,一直都得到大家的支持,人气也在逐步上升,在这里,还需要大家继续支持。
 楼主| 发表于 2002-10-7 19:13:00 | 显示全部楼层

谢谢版主,另外寻求开发中文帮助

本帖最后由 作者 于 2002-10-7 19:13:04 编辑

谢谢版主
才疏学浅,见笑
第一个问题我想了解句柄的概念,而不是句柄的性质。
第二个问题就是否意味着VBA宏不能直接通过命令执行,可以通过lisp间接性命令调入。

另外,我想问有无VBA for Autocad2000(2002)的中文帮助(我的版本Autocad2002基础帮助是中文,开发帮助全是英文,不知大家的版本如何,网上所谓的单独中文帮助开发部分也是英文的,十分不便),英文太差,看起来太慢(本来想把它翻成中文,但按目前进度,最少要花三个月,而且每天要工作5、6小时以上)。还请版主推荐些好的参考资料。

以后我肯定就是论坛的常客了。麻烦各位老师,还望见谅。
发表于 2002-10-7 22:15:00 | 显示全部楼层

本站二次开发栏目有部分内容供参考

发表于 2002-10-8 07:58:00 | 显示全部楼层

句柄是一个内存地址

对于函数、窗体、实体对象等数据结构复杂的东东,因为内存占用不定,对他们的访问一般都是通过内存地址访问实现的。对象在内存中的首地址就是一般所说的句柄。
发表于 2002-10-8 13:51:00 | 显示全部楼层

你这个说法可能不完全正确。视具本实现。一般来说,句柄应该是内存地址的一个索引。

它与内存中的地址是对应的。有的时候,出于安全的考虑,操作系统或应用程序不会直接提供内存地址入口,转而提供句柄,系统根据句柄在索引表中找到地址入口。windows api要求的句柄多数是这种例子。
发表于 2002-10-8 14:23:00 | 显示全部楼层

多谢秋枫,只是提问人不参与讨论了

 楼主| 发表于 2002-10-8 17:01:00 | 显示全部楼层

谢谢各位,句柄就是标志

是不是应该这样理解,对于Autocad的实体对象来说,句柄就是实体对象的标志,每个对象都有唯一的句柄,而且句柄在实体的生存期内不变,程序的操作通过句柄这个标志找到对象。我想请教一个问题,句柄在开发有什么用处,如何使用。
今天我在一张图上试了下,好像句柄的值是16进制,而且没有规律,如在这张图上有497个图块,但用msgbox函数显示,数量正确,但句柄值却没有497个,是不是msgbox函数显示字符数有限制。
发表于 2002-10-8 20:19:00 | 显示全部楼层

autocad的句柄与windows的资源的句柄应该不是一回事。

autocad对像的句柄与windows的资源的句柄应该不是一回事。autocad的句柄对于每个对像唯一而且不变。这样,当下次dwg图打开的时候,可以根据上次DWG操作中的对像句柄找到上次的同一个对像,而entityname是动态的,不具备这种性质。两次打开同一张图,其中的同一个物体的entityname可能不同。程序中如果要另外保存一个数据文件而且这些数据与特定dwg中的特定物体有关的时候,句柄可以维持这种关连。
发表于 2002-10-9 11:04:00 | 显示全部楼层

句柄是指向对象所在内存地址的指针,对象的内存地址是。。。。。

句柄是指向对象所在内存地址的指针,对象的内存地址是不断变化的,必须有个指针指向它。window腾出固定区域存放这些指针。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 00:39 , Processed in 0.183526 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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