首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual Basic 6-编译错误:用户定义的类型未定义

Visual Basic 6-编译错误:用户定义的类型未定义
EN

Stack Overflow用户
提问于 2016-02-28 13:09:42
回答 1查看 1.7K关注 0票数 1

我已经解压缩了一个旧的Visual 6项目,并使用安装在Windows虚拟机上的Visual 6打开它。

当我试图重新编译代码时,我会得到以下代码的错误“编译错误:未定义的用户定义类型”-

代码语言:javascript
运行
复制
Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) As Long

据我所知,他的函数是User32 Windows的一部分。

我尝试添加user32.dll作为组件/引用,但没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-28 13:12:04

将user32.dll添加为组件/引用将无法工作。您必须显式声明要使用的所有Win32 API类型和函数。VB 6包含了API查看器,它将帮助您完成这个任务,尽管它已经过时了。

据推测,这里没有定义的用户定义类型是RECT。它是由Win32头定义的结构,但VB不知道,除非您自己声明它。

代码语言:javascript
运行
复制
Public Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type

还可以将lpRect的数据类型更改为As Any,以便传递空指针(例如,ByRef 0)。这将使控件的整个区域无效。

代码语言:javascript
运行
复制
Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, _
                                                      ByRef lpRect As Any, _
                                                      ByVal bErase As Long) As Long
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35682926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档