编译错误publicsub
A. 编译错误:常数、固定长度字符串、数组、用户定义类型以及declare语句不允许作为对象模块的public成员
常数、固定长度字符串、数组、自定义类型与 Declare 语句不能是对象模块中的 Public 成员
并非所有对象模块中的变量都可声明成 Public。然而,按缺省规定,过程是 Public,且 Property 过程在语法结构上可模拟变量。这个错误的起因与解决方法如下所示:
在对象模块中声明了一个 Public 常数。
虽然不能在对象模块中声明 Public 常数,但可以创建一个同名的Property Get 过程。若不能创建同名的 Property Let 或 Property Set 过程,实际上创建了一个只读属性,其用法与常数相同。
在对象模块中声明了一个 Public 类型的固定长度字符串。
可用一组 Property 过程仿真固定长度字符串,并截掉超出长度的字符串数据,或通知用户超出长度。
在对象模块中声明了一个 Public 数组。
虽然过程不能返回数组,但可返回一个包含数组的 Variant。要仿真类模块中的 Public 数组,可用一组Property 过程,它们接受与返回包含数组的 Variant 。
在对象模块中放了一个 Declare 语句。
Declare 语句隐含着公用的意思,可在 Declare 语句之前加上一个 Private 关键字。
B. vb为什么总提示,编译错误:用户定义类型以及declare语句不允许作为对象模块的public成员
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
把public改为private
C. VB编程提示Private Sub Command1_Click()编译错误,过程声明与同名事件或过程的描述不匹配
1、Passwordstr = Text1.Text 修改为 Passwordstr = Me.Text1
2、这两行:
Load Form2
Form2.Show 、
修改为:Docmd.openform Form2
3、Result = MsgBox("Password Denied,Please imput again.", "Visual Basic OK Only", "Error!")修改为
MsgBox"Password Denied,Please imput again."
4、 Text1.Text = "" 修改为 Me.Text1 = “”
修改了以上内容之后,你再试试!~
D. excel的vba宏写的程序,结果无法运行,标示“编译错误,过程过大”,求高手解决。
单个过程的代码量过大。划分成几个过程,用主过程调用即可解决!
E. VB 编译错误 块if 没有end if
你的代码不全?
根据第一行代码是
Case Else
那么你前面应该有:
Select Case XXXX '这个是Select语句的开始
Case X1
......
Case X2
......
Case Else
If strResponse Like "*R*" Or Len(Trim(strResponse)) = 0 Then '允许发送 ----这个少End If
If strResponse Like "**" Or Len(Trim(strResponse)) = 0 Then ----这个少End If
'请求结束
'生成设备串
aItem = Split(strSample, "|")
'标本或SampleID
strBuffer = aItem(1)
strSampleID = aItem(5)
'读取反馈的架号和杯号
strRackNO = ""
If Len(Trim(strResponse)) > 0 Then
strResponse = Replace(strResponse, "RB", "")
iPos = InStr(strResponse, "R")
strRackNO = Mid(strResponse, iPos + 5, 11)
End If
...............................
............................
End Select ‘这个是Select语句的结束
F. vb编译错误:缺少变量或过程,不是模块
编译错误:
缺少变量或过程,不是模块。
'这个是模块中的代码,(不在窗体的代码区内,在一个模块文件中)
Public Sub SEND_SERINFO(IP As String, Text As String)
main.wsk1.RemoteHost = IP
main.wsk1.SendData "SER_INFO " + Text
End Sub
'然后在窗体代码模块中调用
call send_serinfo(ip,text)
然后进行调试
G. 关于类模块,为什么生成dll的时候老提示 编译错误: Private 对象模块不能作为参数、公共过程....代码如下
private 定义为私有,只有被定义的模块内才能使用
H. 我用vb写了如下这个类 可是编译dll的时候却出现 编译错误:类模块需要实现'Activate'为接口'ObjectControl
你要声明一个public的接口类,名称为ObjectControl,其中至少要声明:
Public Sub Active()
End Sub
Public Function CanBePooled() As Boolean
End Function
Public Sub Deactivate()
End Function
这是一个抽象类,这三个函数无需任何代码,这样才能在你示例的类中实现ObjectControl接口....
I. 编译错误 必选参数 求高手帮助
absmax有4个参数,调用的时候才3个。
Public Sub absmax(x() As Single, m As Byte, n As Byte, xmax As Single)
改这样看看:
Private xmax As Single
Public Sub absmax(x() As Single, m As Byte, n As Byte)