Вниз
Скачать: CL | DM;

Асинхронное выполнение процедур в своей программе.   Найти похожие ветки 

 
Maks Realov   (2003-06-09 16:01) [0]

Есть программа без формы - консольная, а лучше так - просто dll-файл, реализующий некий COM-компонент. Мне надо асинхронно послать в свой COM-компонент сообщение.
(WM_USER or RegisterWindowMessage) + PostMessage не подходит, т.к. у PostMessage первым параметром надо указывать Handle окна, которому сообщение посылается, а окна то у меня нет!
Через многопоточность это делать тоже не очень охота, может есть пути проще?
Спасибо!


 
DmS   (2003-06-09 16:57) [1]

> Мне надо асинхронно послать в свой COM-компонент сообщение
сообщения посылаются только окнам.
выход - использовать другие методы межпроцессного взаимодействия:
- файлы проецируемы в память
- сокеты
- семафоры и мьютексы
- критические секции


 
han_malign ©   (2003-06-09 16:59) [2]

DmS (09.06.03 16:57)
+
- pipe
- Mail slot


 
Maks Realov   (2003-06-09 17:07) [3]

Вы не поняли!!!
Мне не надо передавать какие-то данные (это к MMF относится), не надо синхронизировать потоки. Мне надо, что то типа этого:


procedure FirstFunc();
begin
// инициализируем некие данные
CallAsyncProc(инициализированные данные);
end;

procedure CallAsyncProc(инициализированные данные);
begin
// do somthing
end;

Смысл думаю понятен.
Надо что-то типа PostThreadMessage использовать, но как "словить" сообщение посланное таким способом я пока не понял.


 
DmS   (2003-06-09 17:14) [4]

что-то не врублюсь, почему предложеный тобой код не работает ?
зачем тебе посылать сообщение ?



 
Набережных С. ©   (2003-06-09 20:12) [5]

>Надо что-то типа PostThreadMessage использовать, но как "словить" сообщение посланное таким способом я пока не понял.

WaitMessage/PeekMessage/GetMessage

А еще есть QueueUserAPC


 
HolyGlory   (2003-06-09 20:59) [6]

А можно через FileMaping



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

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



Память: 0.46 MB
Время: 0.018 c
7-84790
neodiX
2003-04-17 17:17
2003.06.26
Блокировка клавы с помошью хука


14-84563
Navi
2003-06-07 07:20
2003.06.26
Психологический тест


1-84403
adogg
2003-06-09 15:55
2003.06.26
StringGrid


3-83995
Sevish
2003-05-30 14:00
2003.06.26
Ошибка конвертации между кодировками!


1-84389
NAlexey
2003-06-09 13:10
2003.06.26
Перерисовка неклиентской области.




   Наверх