gpt4 book ai didi

compiler-errors - Visual Basic 6-编译错误: User-defined type not defined

转载 作者:行者123 更新时间:2023-12-02 10:44:04 32 4
gpt4 key购买 nike

我已经反编译了一个旧的Visual Basic 6项目,并使用安装在Windows XP虚拟机上的Visual Basic 6打开了它。

当我尝试重新编译代码时,此行代码显示错误“编译错误:未定义用户定义的类型”-

Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) As Long

我了解他的功能是User32 Windows库的一部分。

我试图添加user32.dll作为组件/引用,但是没有运气。

最佳答案

添加user32.dll作为组件/引用将不起作用。您必须明确声明要使用的所有Win32 API类型和函数。 VB 6包含API Viewer,尽管它已经过时了,但可以帮助您解决此问题。

大概在这里未定义的用户定义类型是RECT。它是Win32 header 定义的结构,但是除非您自己声明,否则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 Long

关于compiler-errors - Visual Basic 6-编译错误: User-defined type not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35682926/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com