Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.034 c
1-84410
Yoyo
2003-06-09 18:03
2003.06.26
Нужно вставить текст


14-84716
KaRaT
2003-06-05 14:48
2003.06.26
manual по Бест?


6-84487
Kedis
2003-04-22 09:05
2003.06.26
Outlook Express


4-84840
I:D
2003-04-25 18:09
2003.06.26
SetWindowLong(hwnd,GWL_WNDPROC,Integer(P));


1-84291
killer
2003-06-15 00:43
2003.06.26
Курсор мышки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский