我正在尝试在VB 6中实现(即实现接口)一个类,但我收到此错误:“编译错误:实现的接口错误:接口包含数据字段”。所以我想知道你可以实现哪个类的限制?或者,如果有人知道我为什么会收到这个特定的错误,那也会有所帮助。
如果我需要更清楚,请告诉我。谢谢你们。
戴夫
答案 0 :(得分:6)
VB6中的接口只能包含方法,而不能包含成员变量。
您可以通过实现属性方法(使用let和get函数)来模拟成员变量。
答案 1 :(得分:4)
VB的类型库构造函数对它有很多限制。可能在该接口中使用的参数与VB很不兼容,例如,unsigned long。 VB CAN处理无符号长整数,你只需将它们放在一个普通的LONG变量中,然后因为这个符号而对它们有所不同。
所以,你最好的选择是使用OLE视图来打开定义了这个接口的类型库,将它自己复制到一个IDL文件中,然后在修改接口定义后再用MIDL重新编译它用VB。
马修·柯兰德(Matthew Curland)在他的VB6着作“日常程序的动力技术”中对此进行了讨论。