最近发现了一个问题,在CATIA二次开发时,过去用VB6的时候如果在监视窗口中输入COM对象变量,可以显示出对象的所有属性,如下:

在Visual Studio 中的监视窗口中监视Com对象变量 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

但当将代码移植到VS2017后,再次监视变量发现原本变量的各项属性都不能显示了,变成了下面这样:

在Visual Studio 中的监视窗口中监视Com对象变量 随笔 第2张

 

可以看到,原本selection对象下的各种属性均无法列出,监视表达式"oSelection.Count"也会报错。在查了多篇中英文资料后将该问题解决方法记录如下:

首先,工具->选项->调试->常规,在窗口中勾选"使用托管兼容模式"

在Visual Studio 中的监视窗口中监视Com对象变量 随笔 第3张

 


然后在解决方案资源管理器中,将相应引用对象的属性中,将"嵌入互操作类型"改为False。

在Visual Studio 中的监视窗口中监视Com对象变量 随笔 第4张

 


就此问题解决。

 在Visual Studio 中的监视窗口中监视Com对象变量 随笔 第5张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄