我已经解压缩了一个旧的Visual 6项目,并使用安装在Windows虚拟机上的Visual 6打开它。
当我试图重新编译代码时,我会得到以下代码的错误“编译错误:未定义的用户定义类型”-
Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) As Long据我所知,他的函数是User32 Windows的一部分。
我尝试添加user32.dll作为组件/引用,但没有成功。
发布于 2016-02-28 13:12:04
将user32.dll添加为组件/引用将无法工作。您必须显式声明要使用的所有Win32 API类型和函数。VB 6包含了API查看器,它将帮助您完成这个任务,尽管它已经过时了。
据推测,这里没有定义的用户定义类型是RECT。它是由Win32头定义的结构,但VB不知道,除非您自己声明它。
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type还可以将lpRect的数据类型更改为As Any,以便传递空指针(例如,ByRef 0)。这将使控件的整个区域无效。
Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, _
ByRef lpRect As Any, _
ByVal bErase As Long) As Longhttps://stackoverflow.com/questions/35682926
复制相似问题