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

Вниз

Передать строку через PostMessage   Найти похожие ветки 

 
Lucefer   (2006-01-26 11:33) [0]

Вопрос такой. Есть поток и приложение, мне из потока надо послать некое сообщение PostMessage(Application.MainForm.Handle, WM_USER+123, 0, 0); и при этом передать некую текстовую строку в основную программу. Как это сделать правильно?
Как вариант я могу выделить память по getmem, записать туда информацию, а потом как-то передать указатель на эту область памяти через параметры сообщения.


 
wal ©   (2006-01-26 11:36) [1]


> Есть поток и приложение
Поток в том же самом приложении? Если да, то

> Как вариант я могу выделить память по getmem, записать туда
> информацию, а потом как-то передать указатель на эту область
> памяти через параметры сообщения.
Только память потом освободить не забудь.


 
Digitman ©   (2006-01-26 11:37) [2]


> Как вариант я могу выделить память по getmem, записать туда
> информацию, а потом как-то передать указатель на эту область
> памяти через параметры сообщения


Ну так и сделай.

Не худший, надо сказать, способ.

Главное - контролировать время жизни инф-ции, ссылка на которую передается ..


 
Гавриил, архангел   (2006-01-26 11:40) [3]

Если в пределах одного приложения - то передавай в lParam указатель на строку.
Если приложения разные - то не WM_USER+123 а WM_COPYDATA.
Если строка не одна а целый блок то лучше использовать named pipes.


 
Leonid Troyanovsky ©   (2006-01-26 13:53) [4]


> Digitman ©   (26.01.06 11:37) [2]

> Не худший, надо сказать, способ.

> Главное - контролировать время жизни инф-ции, ссылка на
> которую передается ..


Способ c GetMem, скажем, не очень.

Ну, а для контроля времени жизни нужен не Post, а
SendMessage (.., WM_USER, 0, LParam(@s {:String})).
Т.е., принимающий делает с PString(msg.LParam)^,
все, что ему требуется.

--
Regards, LVT.



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

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

Наверх




Память: 0.47 MB
Время: 0.046 c
2-1139682980
Интересующийся
2006-02-11 21:36
2006.02.26
Получить данные из INI


2-1139493461
worldmen
2006-02-09 16:57
2006.02.26
Выбор в TCheckListBox-е выбранных строк


15-1139239108
DillerXX
2006-02-06 18:18
2006.02.26
Нравится ли вам Дельфин?


15-1139069415
Vemer
2006-02-04 19:10
2006.02.26
Как побороть "Не найдена страница поиска!" в IE?


9-1125503769
Nonstop
2005-08-31 19:56
2006.02.26
Gjvjubnt vyt f z dfv pfgkfxe