![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Межпроцессное взаимодействие [D6]
SPeller © (2002-06-16 19:31:00)Всем доброго времени суток! Надо из одного приложения в другое через сообщение (WM_USER+10 например) послать хэндл некоего системного объекта, который будет содержать нужную информацию. Как такое осуществить??
Raptor (2002-06-18 00:28:00) [1]Не оправдано. DDE использовался раньше в Win3x и теперь практически умер. MS пока оставила его только для совместимости и в ближайшем будущем возможно полностью уберет его поддержку. Потому лучше использовать FileMapping. Тем более, что сам DDE работает через FileMapping. ж-))
SPeller (2002-06-17 23:18:00) [2]FileMapping мне уже сообщили. Ещё в WinSDK видел такую весчь как DDE, предназначенную для того же межпроцессного взаимодействия. Как оно на практике применяется, и оправдано ли его применение вместо FileMapping ??
Случайный прохожий (2002-06-17 21:36:00) [3]Если хендл не получен из DuplicateHandle то в другом процессе он не имеет смысла
Raptor (2002-06-17 12:37:00) [4]Уже неоднократно пробовалось ж-))
Отлично работает.
Если ты имеешь в виду каким образом передавать информацию, хендл на которую ты посылаешь, то лучше всего использовать FileMapping. Смотри в хелпе функцию CreateFileMapping().
SPeller (2002-06-17 11:50:00) [5]Ну-ну, поробуй это на практике....
Diamond Cat (2002-06-16 23:57:00) [6]не понял при чем тут создание объектов но отправление и прием выглядят примерно так
procedure Tformsender;
begin
sendmessage(findwindow("tformrecive",nil),wm_user+10,0,твой хендл);
end;
прием сообщениия
Private
procedure mes(var mesag:Tmessage);message wm_user+10;
///////
implementation
procedure Tformreciv(var messag:Tmessage);
begin
if messag.wparam<>0 then showmessage(inttostr(messag.lparam));
end;
что-то типа того
SPeller (2002-06-16 19:54:00) [7]Я всмысле имею ввиду, что какой механизм применить, какой именно объект создать, как с ним работать??
MBo (2002-06-16 19:37:00) [8]в lparam записать