Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem konvert na BYTE* v C++

Ahoj.
Vie mi niekto poradit ako skonvertovat retazec typy BSTR na pole BYTE*,ktore nasledne kodujem do Base64
Prikladam aj cast a procky ktora prebehne bez problemov ale pritom sa pole vobec nevytvorii!! cize HRESULT <> S_OK

_bstr_t r1(user);_bstr_t r2(passw);
r1+=r2;
BYTE *p=new BYTE(sizeof(BYTE));
HRESULT hr;
//en-gb 0x0809 2057

hr=VarUI1FromStr(r1,0x0809,LOCALE_NOUSEROVERRIDE,p ); //konvert na BYTE*
if (hr=S_OK )
MessageBox(NULL,TEXT("Konveria bola uspesna"),TEXT("..."),0+MB_ICONINFORMATION );

Diikes

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
... inac ten VarUI1FromStr konvertuje snad po jednom znaku alebo ako to je, takze ked uz tak by malo… poslední
MM.. 21.08.2007 17:23
MM..

... inac ten VarUI1FromStr konvertuje snad po jednom znaku alebo ako to je, takze ked uz tak by malo stacit
BYTE skonvertovany_znak;
VarUI1FromStr(r1, neco, LOCALE_NOUSEROVERRIDE, &skonvertovany_znak);
a skonvertuje to prvy znak.
Ak to vyhadzuje chybu tak mas problem pravdepodobne v druhom parametri. Mohol by si si debuggerom pozriet presne aku hodnotu to vrati, alebo v kode porovnat so symbolmi DISP_E_BADVARTYPE, DISP_E_OVERFLOW, DISP_E_TYPEMISMATCH, E_INVALIDARG, E_OUTOFMEMORY aby si vedel aspon priblizne v com je problem.

Zpět do poradny Odpovědět na původní otázku Nahoru