VB中回调函数的一个问题
之前碰到一个问题,VB中向一个C++写的DLL中注册一个Callback,C++在调用这个Callback时有些问题,具体问题描述和下面这个帖子中的情况是一样的: http://topic.csdn.net/t/20051104/09/4370840.html
经过尝试以后发现,在VB中写的回调函数必须是用Function关键字,并且,必须要设置返回值,如下:
Public Function Callback () As Long
’TODO: Here
Callback = 0
End Function
如果这个回调中没有声明返回值,并且没有Callback = 0这个情况,就会出现上述帖子中的问题.
相关文档:
一般来说,在VB中编写串口通讯程序,首先考虑到是使用MSComm控件,可是该控件不能设置超时,而且对许多内部的参数进行了隐藏,从而不能满足有些具体的工作。而使用API进行串口通信,大多是使用VC,很少见到完整的VB代码,为此,我编写了这个模块。
&nbs ......
VB备份ACCESS数据库的方法,代码
这个代码其实也适用于其它类型文件的复制,要修改一下其中的语句哦~Private Sub bak_Click()
Dim TargetFileName As String '目标文件名
On Error Resume Next
With cdlog1
.DialogTitle = "数据备份"
.InitDir = App.Path
.FileName = "backup.mdb"
.Filter = ......
本程序有一菜单开始,里面有查询,删除,修改,添加,程序不一一列出,只写出基本的过程,连接数据库采用标准模块:
'Public publicstr As String
Public conn As ADODB.Connection
Public rs As ADODB.Recordset
Public Sub main() '数据库连接共享函数
Set conn = New ADODB.Connect ......
VB中的Unicode 和 Ansi 格式
Visual Basic 32-bit 版本的字串处理采用 Unicode,也就是说字串在 VB 内部是以Unicode 的格式来存放。何谓 Unicode?简单的说,就是每一个字符都是以 2-byte 的形式表示,而每个「实体字符」就是一个「字符」。因此,
Len("大家好")
Len("abc")
& ......
Public Sub DGToExcel(DataGrid1 As DataGrid, Optional ProgressBar1 As ProgressBar, Optional ByVal intFirst As Integer, Optional ByVal intLast As Integer, Optional strTitle As String)
'--将DataGrid导出至Excel,ProgressBar1为进度条,intFirst为从哪一列开始打印,intLast为打印到哪一列
On Error Resume ......