Problem mit ComboBox und CB_GETLBTEXT
-
Hi@all
ich habe in einem Programm (mit UNICODE kompiliert) eine Funktion um den aktuellen Text aus einer ComboBox zu extrahieren. Hierzu verwende ich CB_GETCURSEL um den Index des aktuellen Items zu bekommen und CB_GETLBTEXT um den Text zu bekommen. Der Compiler meldet auch keinen Fehler aber das Programm hängt sich während der Ausführung an dieser Stelle auf. Weiss irgend jemand was daran falsch sein könnte?Code:
[cpp]
wchar_t* ComboBoxGetItem(HWND hDlg, int id)
{
HWND hwnd = GetDlgItem(hDlg, id);
LRESULT lIndex;
wchar_t* lpOutput;
wchar_t lpText[50] = L"";if(!hwnd) return NULL;
lIndex = SendMessage(hwnd, CB_GETCURSEL, 0, 0);
if(lIndex == CB_ERR) return NULL;if(SendMessage(hwnd, CB_GETLBTEXT, (WPARAM)lIndex, (LPARAM)lpText == CB_ERR))
return NULL;lpOutput = wcsdup(lpText);
return lpOutput;
}
-
hi,
wie mir scheint ist die if bedingung falsch:
if(SendMessage(hwnd, CB_GETLBTEXT, (WPARAM)lIndex, (LPARAM)lpText == CB_ERR))so ist sie richtig, klammerproblem:
if(SendMessage(hwnd, CB_GETLBTEXT, (WPARAM)lIndex, (LPARAM)lpText) == CB_ERR)gruss
msp
-
mann o mann...peinlich

danke!