Objectarx Wizards 2010中添加成员变量功能移植到Objectarx Wizards 2018中

发布时间 2023-11-05 09:07:41作者: david96007

 

——工欲善其事必先利其器

 

虽然AutoCAD Objectarx代码没写几行,但对于Objectarx Wizards的折腾却不能少。

这几天学习Com封装,找到一篇文章(教程),学习过程中发现原来Objectarx Wizards中添加成员变量的功能不错,可惜在高版本中给阉割了,于是想着能不能把此功能从低版本移植到高版本中。

经过一番搜索,找到了这个链接:

https://learn.microsoft.com/zh-cn/previous-versions/aa730846(v=vs.80)?redirectedfrom=MSDN

硬着头皮看了一下,感觉移植应该是可以实现的。下面就把移植的过程记录一下:

 

我所使用的软件:

Win7+visual studio 2015+autocad 2018

安装了Objectarx Wizards

移植过程中使用的工具:

Notepad++,Beyond Compare

另外需要下载Objectarx Wizards 2010安装包(msi文件)

 

过程如下:

1.解压Objectarx Wizards 2010安装包,假如解压文件夹为d:abc,

(解压方法https://www.cnblogs.com/top5/archive/2012/10/29/2744639.html

将其中的文件夹ArxMemVariableWiz复制到Objectarx Wizards 2018的安装位置(我电脑上的位置为C:\Program Files (x86)\Autodesk\ObjectARX 2018 Wizards)

2.复制abc\Microsoft Visual Studio 9.0\VC\VCContextItems\ MemVariableWiz.vsz文件到Visual studio 2015的目录C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\VCContextItems中,注意要备份原有同名文件。

3.编辑.vsz文件

编辑前

编辑后

4.启动Visual studio打开Objectarx项目,在类视图中选择某个类,鼠标右键菜单→添加→添加变量,测试功能是否正常,此时应该会有错误提示。

 

记录出错的行号,打开C:\Program Files (x86)\Autodesk\ObjectARX 2018 Wizards\ArxMemVariableWiz\HTML\1033\default.htm文件进行修改,这个过程中我使用了Beyond Compare软件,出错的是VariableType,找到此控件的定义,从Visual Studio 2015中的C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\VCWizards\CodeWiz\Generic\Variable\HTML\2052\default.htm文件中复制正确的CLSID,之后添加成员变量的功能应该能够正常使用,变量类型中会出现Objectarx中的类型….

5.汉化,等后续再进行记录……

 

遗留问题:

如何能保留Visual Studio原来的添加成员变量功能?

更高版本是否能移植尚未测试。

 

2023年11月4日19:56:58