VB6 - 将MSHFlexGrid作为类模块函数的参数传递,Windows 8.1 +

时间:2015-12-30 20:19:18

标签: vb6

我在DLL中有一个公共类方法,它接受变体形式的MSHFlexGrid参数。

Public Sub PrintReport(ByVal gridToPrint as Variant)

我将参数指定为variant,以避免编译错误:

  

“私有对象模块不能在公共对象模块中使用   公共过程的参数或返回类型,作为公共数据   成员,或作为公共用户定义类型的字段“

我的主应用程序实例化此类的实例并调用PrintReport方法,传入MSHFlexGrid。

Dim clsPrint As PrintProject.clsPrint
Set clsPrint = New PrintProject.clsPrint
clsPrint.PrintReport gridToPrint

其中 gridToPrint 是我表单上MSHFlexGrid控件的名称。

这种逻辑已经存在多年,直到Windows 8.1出现。

Windows 8.1和Windows 10在调用PrintReport方法时生成类型不匹配错误。

还有其他人遇到过这种行为吗?

我原本认为这是一个环境问题,但是在运行Windows 8.1或Windows 10的所有安装中都会出现这种情况,而Windows 8及更低版本运行良好。

如果我没有正确地构建我的问题,请原谅我的无知。第一次海报,长期用户。

提前致谢!

0 个答案:

没有答案