不使用Visual Studio创建ARX?
我希望有人能够证实或者直接指出不使用Visual Studio创建ARX的可能性。根据我的理解,arx文件只是一个带有不同扩展名和名为“acrxEntryPoint”的入口点的windows dll。会这么简单吗?由于我在Delphi上投资很大,我希望创建dll,然后手动导入我需要的函数。如果我远离gui应用程序,那么我就没有必要继承MFC类(无论如何Delphi都无法访问它们)。我在谷歌上搜索了所有的研究,我试图把一个方形的钉子敲进一个圆形的洞,但迄今为止毫无结果;任何见解将不胜感激。您好,
丹尼尔
**** Hidden Message *****
不幸的是,您需要使用与创建应用程序的SDK相同的编译器。 您不必使用 MFC。 这就是您在这里所需要的一切。
extern "C"int acrxEntryPoint(int msg, void* app)
{
if(msg == AcRx::kInitAppMsg){
acrxDynamicLinker->unlockApplication(app);
acrxDynamicLinker->registerAppMDIAware(app);
acedRegCmds->addCommand(_T("BrxRocks"),_T("doit"),_T("doit"), 0 , do_func);
}
if(msg == AcRx::kUnloadAppMsg){
acedRegCmds->removeGroup(L"BrxRocks");
}
return AcRx::kRetOK;
}
如果您能够加载模块,您仍然会发现很难执行任何有意义的操作 这里有一个有趣的链接http://rvelthuis.de/articles/articles-cppobjs.html
不幸的是,您需要使用与创建应用程序的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,所以这可能是一个入口点?
很抱歉,如果这已经偏离主题。 斯皮特巴林:我想我记得CB告诉我你可以使用数字火星编译器。 我记得他提供的一些arx信息,关于如何在没有visual studio的情况下编译它们,可惜我丢失了那些文档。。。 说到玉米面包——任何人都知道如何与他联系。
我丢失了他的电话#和电子邮件地址。
我想向RR传递一些信息。 请注意,AutoCAD检查ARX模块PE-header中的“链接器版本”字段(您可以使用PE-Explorer查看该标题),
因此,如果您使用正确的值填充该字段(例如,我记得acad.17为8),并且您的dll导出acrxGetApiVersion和acrxEntryPoint,那么AutoCAD应该会很高兴
我记得大约8-10年前有Delphi组件或单元来编写ARX dll,但该项目似乎已经死亡
我忘了补充,您
页:
[1]
2