imagen vb cargando archivo binario
Función pública PictureFromByteStream(b() As Byte) As IPicture
Dim LowerBound As Long
Dim ByteCount As Long
Atenuar hMem As Long
Atenuar lpMem As Long
Dim IID_IPicture(15)
Atenuar istm Como stdole.GoTo Err_Init
If UBound(b, 1) lt 0 Then
Salir de la función
End If
LowerBound = LBound(b)
ByteCount = (UBound(b) - LowerBound) 1
hMem = GlobalAlloc(amp.H2, ByteCount H2, ByteCount)
Si hMem lt ;gt; 0 Entonces
lpMem = GlobalLock(hMem)
Si lpMem lt; 0 Entonces
MoveMemory ByVal lpMem, b( LowerBound), ByteCount
Llamar a GlobalUnlock(hMem)
Si CreateStreamOnHGlobal(hMem, 1, istm ) = 0 entonces
Si CLSIDFromString(StrPtr("{7BF80980 -BF32-101A -8BBB-00AA00300CAB}"), luego
Llamar a OleLoadPicture(ByVal ObjPtr(istm), ByteCount, 0, IID_IPicture(0), PictureFromByteStream)
Finalizar si
Finalizar si
Finalizar si
Finalizar si
Salir de la función
Err_Init:
Si Err. Número = 9 Entonces
'Matriz no inicializada
MsgBox "¡Debe pasar una matriz de bytes no vacía a esta función!"
De lo contrario
MsgBox Err.number amp; " - " amp Err.description
Fin si
Función final