获取自定义类的 CLSID
COM 对象是通过使用 的调用创建的,用于标识对象类型。为了检索给定的派生对象,应用程序使用其函数。这是签名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.1\
ActiveXCLSID\
AcRxClassName\REG_SZ:
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
在上面的示例中,表示 -派生类的名称(例如,)。AcRxClassNameAcDbObjectAcDbMyObject 父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-19 06:49
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.