Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
2-1139823316
Defunct
2006-02-13 12:35
2006.02.26
Вопрос про трей..


8-1127071368
Sysanin
2005-09-18 23:22
2006.02.26
...быстро перемещать картинку...


2-1139571644
Shuma
2006-02-10 14:40
2006.02.26
Обмен по TCP


15-1139306647
pusrg
2006-02-07 13:04
2006.02.26
Кубок первого канала.


15-1138951856
homm
2006-02-03 10:30
2006.02.26
Direct Media и запрещенный доступ




   Наверх