Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Межпроцессное взаимодействие [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 записать


Наверх

Титульная страница Поиск, карта сайта Написать письмо