marbile 发表于 2022-7-6 22:16:46

Map 2013,呼叫vla GETIFF

我有一个用Visual Basic 6.0编写的Visual Basic编译的ActiveX dll(称为marVbUtils.dll,带有许多映射实用程序)。它在XP和Map 2009中运行良好
在这里,我从visual lisp连接ActiveX dll,如下所示:
(vla GetInterfaceObject(vlax get acad object)“”marVBasic。marVbUtils”)
并毫无问题地获得com对象(在XP中)。
 
现在,我正在迁移到Map 2013 64位(在Windows 7 64位中)
我设法在Windows 7 64位上安装了Visual Basic 6.0,并很好地编译了相同的dll(更改了对新Autocad地图的一些引用)
然后,对于64位,我用system32/regsvr32注册dll,对于32位实现,我也用syswow64/regsvr32注册dll。
 
但是当尝试从lisp获取接口时,如
(vla GetInterfaceObject(vlax get acad object)“”marVBasic。marVbUtils”)
它返回:
“自动化错误。加载应用程序时出现问题”
 
(自map 2001以来,我在Visual Basic 6.0中做了很多工作,迁移它意味着一个大的耗时问题,比如几个月,或者永远)
 
我不敢猜测在2013年64位运行是完全不可能的,这是一个用Visual Basic 6.0编译的dll。但在我自杀之前,我想在这个论坛上抓住最后一次机会来挽救我的生命。
 
如果有人知道如何将Visual Basic 6.0 dll迁移到Windows 7 64位和Autocad Map 2013 64位中使用,请在为时已晚之前告诉我。
 
无论如何,谢谢!

SLW210 发表于 2022-7-6 23:18:43

我把你的线移到了。NET、ObjectARX和VBA论坛。
页: [1]
查看完整版本: Map 2013,呼叫vla GETIFF