said01 a écrit :
strAdresse2 = new CString ;
pCBItem->pszText = (LPTSTR)(LPCTSTR)strAdresse2;
[/cpp]
|
hum, deux casts violents de suite, ca me fait un peu peur.
A mon avis ca marcherait mieux si tu faisais
Code :
- char *ptBuffer = new char[256];
- pCBItem->pszText = ptBuffer ;
|
bon ca fait allouer 256 caractères pour chaque entrée mais si tu veux vraiment stocker des COMBOBOXEXITEM dans ton vector y a pas trop le choix a mon avis.
tu pourrais faire comme ca :
Code :
- CString ficelle;
- pCBItem->pszText = ficelle.GetBuffer(256);
- pCBItem->cchTextMax = 256;
- m_pCombBoxEx->GetItem(pCBItem);
- ficelle.ReleaseBuffer();
|
mais la variable ficelle va être détruite a la fin du bloc d'instructions et pszText va pointer n'ilmporte quoi.
Une meilleure solution serait de te faire une structure qui contient les infos qui sont vraiment interressantes (dont le nom que tu veux récupérer) et faire un vector avec cette structure.
pourquoi tu te fait un vector de pointeurs de COMBOBOXEXITEM et pas un vector de COMBOBOXEXITEM ?