Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.26;
Скачать: CL | DM;

Вниз

WM_GETTEXT   Найти похожие ветки 

 
fishca ©   (2002-08-12 19:32) [0]

var
lpszText : string;

В программе создаю текстовое поле FileNameText := CreateWindowsEx(...);

Потом пытаюсь написать
SendMessage(FileNameText,20,LPARAM(lpszText));

т.е. пытаюсь получить текст текстового поля, врезультате Access Violation, что не так подскажите пожалуйста!


 
ZrenBy ©   (2002-08-12 19:37) [1]

Посчитай число параметров в SendMessage


 
Ученик ©   (2002-08-12 19:43) [2]

SetLength(lpszText, 1000);


 
fishca ©   (2002-08-12 19:44) [3]

Было
SendMessage(FileNameText,20,LPARAM(lpszText));


Должно быть
SendMessage(FileNameText,WM_GETTEXT,20,LPARAM(lpszText));



 
fishca ©   (2002-08-12 19:48) [4]

SetLength(lpszText, 1000); Это про что?


 
watcher   (2002-08-12 19:50) [5]

до SendMessage вызови
SetLength(lpszText, 1000);
потом (после SendMessage)
SetLength(lpszText, length(pchar(lpszText)));


 
fishca ©   (2002-08-12 19:57) [6]

watcher, спасибо у меня получилось, но хотелось по-подробней узнать что я делал не так!


 
watcher   (2002-08-13 12:43) [7]

> watcher, спасибо у меня получилось

fishca первый заметил...его тоже благодари :)

> но хотелось по-подробней узнать что я делал не так!

дело в том что для string память выделяеться при присвоении.
Тоесть сначала размер буфера равный нулю, а этот буфер ти пробуешь передать функции SendMessage. В результате может
возникнуть AV, а может произойти просто порча даних.
Функция SetLength(lpszText, 1000) выделяет буфер из 1000 байт, куда и запишеться результат.

Второй Setlength() устанавливает настояшую длину string,
перещитывая ее с помощью length()



Страницы: 1 вся ветка

Текущий архив: 2002.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
14-85700
NetBreaker666
2002-09-02 21:58
2002.09.26
А есть ли какие-нибудь официальные сертификаты для программеров.


14-85691
michael_b
2002-09-01 20:26
2002.09.26
Подскажите книгу по написанию клиент-серверных в delphi


7-85723
DAO
2002-07-17 07:50
2002.09.26
Делитель целой и дробной части чисел....


3-85341
Spooky
2002-09-04 12:03
2002.09.26
Удаление записи, указанной в наборе пользователем, с помощью SQL


3-85380
Andrei_
2002-09-03 23:49
2002.09.26
Как удалить дубликаты записей в .dbf?