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.
Je dois envoyer pSnV.
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); }
Mais la je s�che depuis un bon moment :-(
Quelqu'un a une id�e?
Merci d'avance
Partager