CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

AutoCAD 上的 Visual LISP 和 VBA

2022-12-31 06:07| 发布者: admin| 查看: 1709| 评论: 0|来自: AutoCAD

基于 64 位 AutoCAD 2015 的产品及更高版本中的 Visual LISP 与 32 位 Visual LISP 完全兼容。现有的 Visual LISP 代码无需更改即可在 64 位 AutoCAD 中运行。

64 位 AutoCAD 中 VBA 的行为不能保证与 32 位 AutoCAD 中 VBA 的行为相同。当 VBA IDE 处于活动状态或显示模型窗口时,AutoCAD 窗口的重绘可能会有轻微的延迟。

在基于 AutoCAD 2015 的产品之前,对象 ID 由 64 位值表示。在 32 位 VBA 中访问这些值将导致编译错误。作为替代方法,VBA 应用程序可以使用对象的句柄而不是其对象 ID。以下示例演示您将使用对象的句柄而不是对象 ID:

‘ Original code
Set objId = someObject.ObjectID
Set tempObj = ThisDrawing.ObjectIdToObject(objId)
‘ Code ported for 64-bit compatibility
Set objHandle = someObject.Handle
Set tempObj = ThisDrawing.HandleToObject(objHandle)

您应该不再需要担心使用句柄而不是对象 ID,但如果需要使用相同的代码库,使用句柄将允许您支持早期版本。

危险:VBA 将在 AutoCAD 的未来版本中删除。VBA 开发人员应该准备将他们的 VB 代码移植到 VB.NET。

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 14:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部