我运行下面的VB就退出,不知是不是VB做的类型检查导致的?
dim test as long,test2 as string
test=65537
test2=" "
CopyMemory MemPoint, VarPtr(test), 4
CopyMemory VarPtr(test2), MemPoint, 4
解决方案 »
- 如何用vb在word打开后自动填写文字型窗体域的内容,并将内容随文档保存?
- 如何使DataGrid显示水平滚动条?
- 水晶报表数据传递的问题???
- 100分 再开一贴 简单问题
- 求一个数是否被整除?急
- 快餐店收银系统的打印问题????请高手指教!!???急急急急!!!!!!!!二次发!
- WEB调用ACTIVEX出错!
- 很久未能解决的问题(机器断开网络或连上网络,程序怎么得知)
- 高手们请进!如何在程序中修改一个已存在的文件的扩展名.
- 我要写一个active控件,它可连接数据库,请问如何才能象ADO数据控件哪样,调出生成odbc连接字符串的对话框。就是咱们从控制面板打开的那个。谢谢。
- vb连接oracle的问题
- OLEDB 4.0连接文本
Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long'constants for API memory functions
Private Const GMEM_MOVEABLE = &H2
Private Const GMEM_ZEROINIT = &H40
Private Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT)Dim pHnd As Long
Dim MemPoint As LongPrivate Sub cmd_Alloc_Click()
Dim i As Long
Dim test As Long
Dim test2 As string
Dim ReadMem As Byte
pHnd = GlobalAlloc(GHND, 8)
MemPoint = GlobalLock(pHnd)
test = 65537
test2 = " "
CopyMemory MemPoint, VarPtr(test), 4
CopyMemory VarPtr(test2), MemPoint, 4
GlobalFree pHnd
End Sub
用VB代码实现:
test2=Cstr(test)如果你要保持长度为4的话
test2=right(" " & cstr(test),4)
更别说integer了,它还包括负数的啊。。怎么可以这样。
经返回试验,在CopyMemory 时VB会做强制类型检查。