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