易截截图软件、单文件、免安装、纯绿色、仅160KB

VB回调函数出错,内存不能为写

在VC中回调函数为:
C/C++ code:
typedef VOID (__stdcall *DL_AUTOCALLBACK )( DWORD dw1, DWORD dw2, LPVOID lpContext );

int Set( IN HANDLE hCamera, IN BOOL bAE,
IN BYTE btTarget, IN DL_AUTOCALLBACK pfCallback, IN LPVOID lpContext );


Vb中我声明为:
VB code:

Public Declare Function Set _'声明
Lib "XX.dll" (ByVal hCamera As Long, ByVal bAE As Boolean, ByVal btTarget As Byte, _
ByVal pfCallback As Long, ByVal lpContext As Long) As Integer
Public Function AECallback(ByVal dw1 As Long,ByVal dw2 As Long, ByRef lpContext As Long)'一到这就会出错
Dim val As Integer
…………
AECallback = 0
End Function
Set m_hDevice, True, 180, AddressOf XX.AECallback, MainForm.hWnd'这是我的调用

显示内存不能为读!
不知道这是个什么问题,是参数对应的问题吗?
DWORD 为unsigned long类型
LPVOID 为void*
怎么回事呢?有谁给个答案!
最后一句改为:Set m_hDevice, True, 180, byval AddressOf XX.AECallback, MainForm.hWnd
试一试

你要给出C++的原型。
还有,必须在标准模块里面写回调的代码。

set 是关键字,换一个名字。使用 alieas 关键字。

Public Function AECallback(ByVal dw1 As Long,ByVal dw2 As Long, ByRef lpContext As Long) <


相关问答:

关于ASP.net(vb)播放监控录像的问题

我有厂家做的ASP的监控录像(DVR)的局域网播放的源程序与控件,想要用ASP.net做一个视频回放的程序(利用他的控件)但不知如下去做,望各位指点。
先搞清楚他们的控件是怎么用的,
然后就直接用好了.
不过,如 ......

asp.net(vb)问题

login.aspx.vb:

    Public ReadOnly Property nameT() As String
        Get
            Return TextBox1.Text
    &nb ......

求教下VB如何给D3D游戏写屏 - VB / API

想在warcraft3里进行写屏操作【如对战平台中的胜负提示信息】,效果就像游戏平台中一样,我试过在一窗口中写入文字,然后一直让窗口强制最前,虽然能实现文字显示,但是文字会不断闪烁,而且有不确定BUG,通过论坛搜 ......

vb查询数据库问题

怎么优化查询的效率,比如我想从100万条记录中每次只查询100条记录的话,那么这条sql语句该怎么实现,注意:语言是VBScript的,
http://www.cnblogs.com/anjou/archive/2007/10/17/926944.html

涉及到算法,goog ......

VB调用水晶报表Design 平凡提示MemoryFull问题

  各位大虾:
        我有一个VB调用水晶报表的系统,报表是作为一个Design嵌在VB里的,今天发现打印第一张报表正常,同样的数据,在点打印再调用一次就会报 Memory Full的错误,但是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号