gzxl 发表于 2022-9-20 22:52:38

注册 发表于 2022-9-20 20:03
IDR_MAINMENU MENU
BEGIN
    POPUP "&文件"


总之,有基础,修改代码是没问题的

白色微風1991 发表于 2022-9-21 07:43:27

看看,不錯,謝謝,看不懂

gzxl 发表于 2022-9-21 22:10:04

好吧,看不懂,以后不分享代码了:lol

cable2004 发表于 2022-9-21 22:49:12

gzxl 发表于 2022-9-21 22:10
好吧,看不懂,以后不分享代码了

gzxl不好意思,我调侃的,想学的人还是很多,都比较低调!我年纪大了,没有精力学习,非常感谢你的分享!希望更多的人学习arx!

gzxl 发表于 2022-9-23 08:13:19

cable2004 发表于 2022-9-21 22:49
gzxl不好意思,我调侃的,想学的人还是很多,都比较低调!我年纪大了,没有精力学习,非常感谢你的分享! ...

:handshake我也是调侃的,别嫌弃代码写的烂就行,我属于业余爱好,代码都是没有经过严密性地组织及优化。

20060510412 发表于 2022-9-29 23:32:25

对arx完全不了解,先请教一个基础问题。
一份同样的源代码,可以不加修改,直接编译出各个版本cad对应的arx文件么?

gzxl 发表于 2022-9-30 08:49:56

20060510412 发表于 2022-9-29 23:32
对arx完全不了解,先请教一个基础问题。
一份同样的源代码,可以不加修改,直接编译出各个版本cad对应的ar ...

用 #if 预处理指令(条件编译)可以做到同一份代码、sln
ObjectARXSDK升级,有些相同功能的api存在参数类型或返回类型的区别,例如:
      // 获取当前布局
      AcDbLayout* pLayout;
      AcDbObjectId tempId;
#if _MSC_VER > 1700// AutoCAD2016 以上
      tempId = pLayoutManager->findLayoutNamed(layoutName, curDocDB);
      es = acdbOpenObject(pLayout, tempId, AcDb::kForWrite);
#else
      pLayout = pLayoutManager->findLayoutNamed(layoutName, TRUE);;
#endif

20060510412 发表于 2022-9-30 09:32:47

gzxl 发表于 2022-9-30 08:49
用 #if 预处理指令(条件编译)可以做到同一份代码、sln
ObjectARXSDK升级,有些相同功能的api存在参数 ...

arx的维护成本也太高了吧,每个版本的编译,都要把源代码再过一遍。:'(

gzxl 发表于 2022-9-30 09:57:59

20060510412 发表于 2022-9-30 09:32
arx的维护成本也太高了吧,每个版本的编译,都要把源代码再过一遍。

配置是比较麻烦,配置好之后就容易了。安全性较为好,运行速度快。

ivde 发表于 2022-10-5 19:55:15

https://github.com/mmamkin/mtmdedit
看过很多介绍ARX多版本配置,发现这个源码中的配置最简单明了,使用 VS2022 编辑,编译 2010-2023 无压力
页: 1 [2] 3 4
查看完整版本: ObjectARX之工具栏菜单式Source