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

Вниз

Текст из ListBox   Найти похожие ветки 

 
Me2   (2002-10-23 16:20) [0]

API функцией создаю ListBox. И не получается считать из него данные. Делаю так(ListBox - это дескриптор элемента):
procedure Ok;
var
EnVar: string;
Cmdl: string;
S: Pchar;
begin
if SendMessage(ListBox, lb_GetCurSel, 0, 0) <> lb_Err then
begin
GetMem(S, 220);
SendMessage(ListBox, wm_GetText, 220, Longint(@S[1]));
Cmdl := S;
EnVar := GetEnvironmentVariable("PROSTD");
WinExec(PChar(EnVar + "\proe2001workspace.bat " + cmdl), SW_SHOW);
FreeMem(S);
SendMessage(Window, wm_Close, 0, 0);
end
else
MessageBox(0, "Error!!!", "Error", mb_Ok);
end;


 
Игорь Шевченко ©   (2002-10-23 16:26) [1]

SendMessage(ListBox, wm_GetText, 220, Longint(@S[1]));

Кто научил ? :-))))

currentItem := SendMessage(..., LB_GETCURSEL, ...);
SendMessage (ListBox, LB_GETTEXT, currentItem, LongInt(...));



 
MBo ©   (2002-10-23 16:31) [2]

Может, Петцольда почитать?

> Longint(@S[1]));
Ни к чему. S же PChar, значит,достаточно
Longint(S)
>GetMem(S, 220);
Нужно выделять места на байт больше для завершающего нуля.
И вообще, стоит сначала узнать, сколько символов будет считано.


 
Me2   (2002-10-23 16:38) [3]

2Игорь Шевченко © (23.10.02 16:26)
Да, правильно. Теперь пишу
SendMessage(ListBox, lb_GetText, SendMessage(ListBox, lb_GetCurSel, 0, 0), Longint(@S[1]));
Если считать выходное значение(кол-во скопированных байт), то оно больше нуля, а S остается пустой.

2 MBo © (23.10.02 16:31)

> Ни к чему. S же PChar, значит,достаточно

Что значит ни к чему? lParam имеет тип Integer


 
Игорь Шевченко ©   (2002-10-23 16:43) [4]

Если S - PChar, то LongInt(S), а не @S[1] - это же не строка.


 
Me2   (2002-10-23 17:10) [5]

Спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-14387
Alexandr_kr
2002-11-15 13:29
2002.12.05
Microsoft SQL Server


14-14768
Weare
2002-11-14 18:47
2002.12.05
Мои старые вопросы


1-14684
_toltec
2002-11-26 03:54
2002.12.05
Вариантный массив


3-14474
SeRZh
2002-11-19 12:23
2002.12.05
Вопрос новичка


3-14371
Jony
2002-11-14 17:27
2002.12.05
И дата и время в DBDateTimeEditEh