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

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

Передача строки другой копии приложения [D7, WinXP]


P.N.P. ©   (2005-07-03 00:21:00) 

Задача такая :
запретить запуск более 1 копии приложения одновременно, при этом
вторая копия должна передать нек. параметры первой запущенной
копии (путь к файлу, например)
Делаю передачу так:

PostMessage(Handle1,fpr_message,Handle,Integer(PAnsiChar(ds1)))

Handle1 - хэндл первой копии, ds1 - собственно строка.
Это сообщение принимается первой копией в Application.OnMessage:

...
var
 s:string;
begin
 if Msg.message = fpr_message then
 begin
     s:=StrPas(PAnsiChar(Msg.lParam));
...

Но почему-то s всегда =''.
Никак не могу догнать - почему?


P.N.P.   (2005-07-03 01:00:00) [1]

>Просто Джо ©   (03.07.05 00:24) [1]
Спасибо, сделал - теперь все как надо работает.


isasa   (2005-07-03 00:46:00) [2]

если
 WM_COPYDATA    
то
SendMessage


Просто Джо   (2005-07-03 00:24:00) [3]

Почему? Потому что адрес - в разных адресных пространствах. Используй посылку сообщения WM_COPYDATA.


Наверх

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