Re: Ошибка Edit'а
От: RMikola  
Дата: 02.06.05 00:44
Оценка:
Здравствуйте, alilua-jah, Вы писали:

AJ>Существует форма, в ней Edit.


AJ>При открытии окна (OnShowWindow) говорю эдиту ограничивать ввод:

AJ> SendDlgItemMessage(IDC_EDTPASSW, EM_SETLIMITTEXT, 7L, 0L);

AJ>Ошибка вот в чем:

AJ> Если поставить значение больше 7 при наборе текста в эдит вылетает ошибка о недоступности памяти.

AJ> Работаю с эдитом так (вдруг неправильно) :

AJ> int EditLen = (int)SendDlgItemMessage(IDC_EDTLOGIN, EM_LINELENGTH, 0L, 0L);
AJ> char* lpszBuffer = new char[EditLen];
AJ> SendDlgItemMessage(IDC_EDTLOGIN, EM_GETLINE, 0L, (LPARAM)lpszBuffer);
AJ> if (userIni.strUserName != NULL)
AJ> ZeroMemory(userIni.strUserName, sizeof(userIni.strUserName));
AJ> if ((strlen(lpszBuffer)) > 0)
AJ> {
AJ> userIni.strUserName = new char[strlen(lpszBuffer)];
AJ> strcpy(userIni.strUserName, lpszBuffer);
AJ> }

AJ>Подскажите, почему может вылетать ошибка с памятью плиз.


Было у меня нечто подобное, помогло вот это:
GetWindowTextLength(GetDlgItem(hDlg,IDC_EDTLOGIN))+1
hDlg — хендл окна родителя твоего эдита, попробуй, может поможет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.