乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 173|回复: 10

不使用Visual Studio创建ARX?

[复制链接]

15

主题

109

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
169
发表于 2010-8-24 07:01:41 | 显示全部楼层 |阅读模式
我希望有人能够证实或者直接指出不使用Visual Studio创建ARX的可能性。根据我的理解,arx文件只是一个带有不同扩展名和名为“acrxEntryPoint”的入口点的windows dll。会这么简单吗?由于我在Delphi上投资很大,我希望创建dll,然后手动导入我需要的函数。如果我远离gui应用程序,那么我就没有必要继承MFC类(无论如何Delphi都无法访问它们)。
我在谷歌上搜索了所有的研究,我试图把一个方形的钉子敲进一个圆形的洞,但迄今为止毫无结果;任何见解将不胜感激。您好,
丹尼尔

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

61

主题

792

帖子

35

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1015
发表于 2010-8-24 07:56:13 | 显示全部楼层

不幸的是,您需要使用与创建应用程序的SDK相同的编译器。
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-8-24 07:57:19 | 显示全部楼层
您不必使用 MFC。
回复

使用道具 举报

15

主题

109

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
169
发表于 2010-8-24 08:14:19 | 显示全部楼层
这就是您在这里所需要的一切。
  1. extern "C"  int acrxEntryPoint(int msg, void* app)
  2. {
  3.   if(msg == AcRx::kInitAppMsg){
  4.     acrxDynamicLinker->unlockApplication(app);
  5.     acrxDynamicLinker->registerAppMDIAware(app);
  6.     acedRegCmds->addCommand(_T("BrxRocks"),_T("doit"),_T("doit"), 0 , do_func);
  7.   }
  8.   if(msg == AcRx::kUnloadAppMsg){
  9.     acedRegCmds->removeGroup(L"BrxRocks");
  10.   }
  11.   return AcRx::kRetOK;
  12. }

如果您能够加载模块,您仍然会发现很难执行任何有意义的操作
回复

使用道具 举报

0

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
3
发表于 2010-8-24 08:18:24 | 显示全部楼层
这里有一个有趣的链接http://rvelthuis.de/articles/articles-cppobjs.html
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-8-24 22:31:55 | 显示全部楼层

不幸的是,您需要使用与创建应用程序的SDK相同的编译器

老鼠,两只老鼠……这让我想做得更多!
谢谢丹尼尔,我以前用过鲁迪的网站-非常有用
据我所知,使用Delphi自动化Bricscad/Autocad的主要方法只有三种。
1。)纯独立COM-很容易做到,但速度很慢,因为它没有进程,还因为您必须运行独立的exe。
2。)创建activex自动化服务器,并通过lisp将其插入Autocad/Bricscad中-这很好,速度很快,因为它正在进行中,但编程要花更多的时间。
3。)使用Delphi Prism for.NET-它是一种伪装成Delphi的dotnet语言(我不喜欢它:生气:)。VisualStudioIDE看起来既笨重又缓慢。话虽如此,Daniel M的RxNet使在Bricscad中使用它成为可能,我对此表示感谢
我可能会注意到,我所有的开发都只是为了内部目的,所以我采取什么工作方法并不重要;对于您的RxNet应用程序,这一次干净利落地做点什么将是一件好事。
@Daniel;(这里的理论)是否有可能编写一个类似的加载程序,比如在windows dll中运行指定的函数(例如执行、列表命令等)。我还注意到,Delphi现在支持类属性,如.NET,所以这可能是一个入口点?
很抱歉,如果这已经偏离主题。
回复

使用道具 举报

0

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
3
发表于 2010-8-24 22:52:22 | 显示全部楼层
斯皮特巴林:我想我记得CB告诉我你可以使用数字火星编译器。
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-8-24 23:01:07 | 显示全部楼层
我记得他提供的一些arx信息,关于如何在没有visual studio的情况下编译它们,可惜我丢失了那些文档。。。
回复

使用道具 举报

15

主题

109

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
169
发表于 2010-8-27 10:56:20 | 显示全部楼层
说到玉米面包——任何人都知道如何与他联系。
我丢失了他的电话#和电子邮件地址。
我想向RR传递一些信息。
回复

使用道具 举报

15

主题

109

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
169
发表于 2010-9-2 23:13:53 | 显示全部楼层
请注意,AutoCAD检查ARX模块PE-header中的“链接器版本”字段(您可以使用PE-Explorer查看该标题),
因此,如果您使用正确的值填充该字段(例如,我记得acad.17为8),并且您的dll导出acrxGetApiVersion和acrxEntryPoint,那么AutoCAD应该会很高兴
我记得大约8-10年前有Delphi组件或单元来编写ARX dll,但该项目似乎已经死亡
我忘了补充,您
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 19:52 , Processed in 0.157389 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表