Objectarx Wizards 2010中添加成员变量功能移植到Objectarx Wizards 2018中
——工欲善其事必先利其器
虽然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