Visual Studio调试器中的{System .__ ComObject}属性与Excel VB不同

时间:2016-06-16 07:44:08

标签: vba visual-studio debugging com catia

我一直在尝试一周,我找不到解决方案。问题是我用Excel VB自动化了CATIA中的进程,现在我想使用Visual Studio 2015.我唯一的问题是Visual Studio中的调试器。当我使用时:

Dim CATIA As INFITF.Application = GetObject(, "CATIA.Application");

我有{System.__ComObject}因此,点击“动态视图”(调试器/本地人)我没有得到该对象的任何属性。如果使用Excel.Application代替CATIA.Application,我可以在“动态视图”中看到对象的不同属性。

http://stpserver.webcindario.com/vstudiodebugger.png

当我输入代码时:

Set CATIA = GetObject(,"CATIA.Application")

在Excel VBA中,在调试器中它将显示对象的所有属性。

http://stpserver.webcindario.com/excevbadebugger.png

我的问题是我如何在Visual Studio 2015调试器窗口中看到CATIA对象的属性,因为我可以在Excel VB调试器中看到它们。

PD:我已在Visual Studio 2015中导入了所有必需的引用

2 个答案:

答案 0 :(得分:0)

Dassault Systemes为他们的CATIA支持的最新版本(顺便说一下,哪个版本?操作系统是什么?)是VS2013(希望我没有犯错)。

答案 1 :(得分:0)

相关文章:Use C# for Catia V5 Automation

可悲的是,我不知道您需要的确切VB.net代码,但这应该指向正确的方向。由于您希望COM对象的过程相同,因此只有语法不同。

在Visual Studio项目中,右键单击“添加引用”。在“COM”选项卡下,“类型库”部分查找:CATIA V5 InfInterfaces对象库。这是INFITF.Application所必需的。如果你想在Catia中使用其他对象,你将需要MecModInterfaces,PartInterfaces,ProductInterfaces,对于HybridShape类型,你将需要CATGSMIDLItf对象库(它在R23之前有一个不同的名称,但我不记得它是什么)。 之后,您需要使用Marshal附加到Catia过程。

由于您使用的是COM,因此Visual Studio的版本无关紧要。如果您使用具有版本特定工具的CAA-RADE,那么这很重要。 我已成功使用Visual Studio 2010(使用Catia R19-20),VS2012(使用Catia R22和R23),VS2013和VS2015(使用Catia R23)。 我认为您的问题可能与缺少的参考文献有关。