The dll doesn't work when I try to load a swf from memory. The swf file is stored and recovered from Access Database, using DAO 3.8 and Visual Basic 6.0
This is code:
First Method:
Dim abAVI() As Byte
Dim Rs As DAO.Recordset
Dim lpData As Long
Dim FileSize as Long
hwndFlashPlayerControl = CreateWindowExA(0, WC_FLASH, "", WS_CHILD Or WS_VISIBLE, 0, 0, rc.Right, rc.Bottom, Me.hWnd, 0, 0, 0)
Set Rs = oDatabase.OpenRecordset("Select Video From Data Where Id = 1")
abAVI = Rs("Video")
fileSize = UBound(abAVI) + 1
lpData = VarPtr(abAVI(0))
FPCLoadMovieFromMemory.layer = 0
FPCLoadMovieFromMemory.lpData = lpData
FPCLoadMovieFromMemory.dwSize = fileSize
SendMessageA_LoadMovieFromMemory hwndFlashPlayerControl, FPCM_LOADMOVIEFROMMEMORY, 0, FPCLoadMovieFromMemory
Second Method:
Dim abAVI() As Byte
Dim Rs As DAO.Recordset
Dim lpData As Long
Dim FileSize as Long
Dim hMem As Long
hwndFlashPlayerControl = CreateWindowExA(0, WC_FLASH, "", WS_CHILD Or WS_VISIBLE, 0, 0, rc.Right, rc.Bottom, Me.hWnd, 0, 0, 0)
Set Rs = oDatabase.OpenRecordset("Select Video From Data Where Id = 1")
abAVI = Rs("Video")
fileSize = UBound(abAVI) + 1
hMem = GlobalAlloc(GMEM_MOVEABLE, fileSize)
lpData = GlobalLock(hMem)
CopyMemory ByVal lpData, abAVI(0), fileSize
FPCLoadMovieFromMemory.layer = 0
FPCLoadMovieFromMemory.lpData = lpData
FPCLoadMovieFromMemory.dwSize = fileSize
SendMessageA_LoadMovieFromMemory hwndFlashPlayerControl, FPCM_LOADMOVIEFROMMEMORY, 0, FPCLoadMovieFromMemory
Any method works, what is wrong?
Thanks in advance.
Note: Some obvious code has been omitted.