CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

获取自定义类的 CLSID

2022-12-31 12:45| 发布者: admin| 查看: 281| 评论: 0|来自: AutoCAD

COM 对象是通过调用 with a 创建的,它标识对象类型。为了检索给定派生的对象,应用程序使用 itsfunction。这是签名CoCreateInstance()CLSIDCLSIDAcDbObjectgetClassID()getClassID():

// Get corresponding COM wrapper class ID.
//
virtual Acad::ErrorStatus getClassID(CLSID* pClsid) const;

此函数在级别定义。对于将其派生追溯到的每个其他类,它都被重写,并由不同的 COM 对象类型表示。因此,如果创建自定义实体派生自,并且不重写,则此函数返回 for。这意味着自定义实体将至少具有基本级别的功能,即使您不为它们提供 COM 支持也是如此。AcDbObjectAcDbObjectAcDbEntitygetClassID()CLSIDAcadEntity

要获取给定派生的类名,AutoCAD 会在注册表中搜索将该类名与其值相关联的条目。CLSIDAcDbObjectCLSID

注册表布局如下所示:

HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\
    ObjectDBX\
        R24.0\
            ActiveXCLSID\
                AcRxClassName\REG_SZ:
                    {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

在上面的示例中,表示派生类的名称(例如,)。AcRxClassNameAcDbObjectAcDbMyObject


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 13:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部