Bonjour,
j'ai d�j� poster la question dans l'espace c#, mais pour le moment rien. Donc je me dis qu'un d'entre vous aurait peut-�tre une id�e.
j'ai besoin de passer � un ActiveX un VARIANTde type VT_ARRAY avec des donn�es de type VT_UI1, la longueur du tableau doit �tre stock� dans cElement.
J'ai essay� de faire un tableau de byte, de mettre dans la premi�re ligne le nombre de byte � passer. Et dans la suite du tableau les valeurs en byte.

Mais lorsque j'appelle la fonction, j'ai l'erreur suivante � l'ex�cution. Le type ne correspond pas. (Exception de HRESULT : 0x80020005 (DISP_E_TYPEMISMATCH), je pense donc � l'objet de type VT_ARRAY.

J'ai un sample en C++: (mais j'aimerais faire la m�me chose en c#)

block est un objet avec quelques propri�t�s de type byte dont la propri�t� "long" ainsi qu'un tableau de byte.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
VARIANT pSnV;
SAFEARRAYBOUND pDd;
pDd.cElements = (DWORD)block->long +4;
pDd.lLbound = 0;
pSnV.vt = VT_UI1 | VT_ARRAY;
pSnV.parray = ::SafeArrayCreate(VT_UI1, 1, &pDd);
if (snV.parray != NULL)
{
BYTE* pByte;
SafeArrayAccessData(pSnV.parray, (void**)&pByte);
memcpy(pByte, block, block->long +4);
SafeArrayUnaccessData(pSnV.parray);
}
Je dois envoyer pSnV.
Mais la je s�che depuis un bon moment :-(
Quelqu'un a une id�e?
Merci d'avance