在VB里err.Description里的错误信息有时与在VB环境下调试出来的错误信息不一样,API里有没有能返回的错误信息更详细的呢?
解决方案 »
- [生死攸关,紧急求助]利用VB创建了一个DLL(Activex DLL),在另一个工程中引用,编译这个工程后,把EXE拷贝到其他机器上后,无法运行这个EXE,启动(双击或者命令行运行)后,没有任何反应。连界面都不出来,为什么?
- 如何使自己做的控件有在设计情况下能保存参数的属性
- 请教一个简单的问题?
- 动太添加菜单
- 奇怪,奇怪,真奇怪!MDAC2.0 Win98 ,Run Error 430.不够加分!
- 紧急求助,向数据库中导数据出错的问题
- 我用网格显示数据,但最后一条记录总显示不能出来。好急哦 为什么?
- VB编程进行数据采集时的问题,困扰啊,大家帮忙看看~~谢谢啦!
- 汉字转化BCD码?
- 问data控件与ADODC控件区别
- 我是新手。才学VB,请问学VB的大概方向是什么?和其他语言一样吗?
- 在VB中用“RESTORE DATABASE ”命令对SQL SERVER 数据库进行备份
不知有没写错
。VB的Err.LastDllError属性和GetLastError返回相同的值。GetLastError只有API出错时才有相关的返回值,而且并非所有的API函数出错时都会设置LastError的,如果你的错误是由VB代码造成的,用GetLastError没有作用。
Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100
Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Const LANG_NEUTRAL = &H0
Const SUBLANG_DEFAULT = &H1
Const ERROR_BAD_USERNAME = 2202&
Private Declare Function GetLastError Lib "kernel32" () As Long
Private Declare Sub SetLastError Lib "kernel32" (ByVal dwErrCode As Long)
Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long
Private Sub Form_Load()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: [email protected]
Dim Buffer As String
'Create a string buffer
Buffer = Space(200)
'Set the error number
SetLastError ERROR_BAD_USERNAME
'Format the message string
FormatMessage FORMAT_MESSAGE_FROM_SYSTEM, ByVal 0&, GetLastError, LANG_NEUTRAL, Buffer, 200, ByVal 0&
'Show the message
MsgBox Buffer
End Sub