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

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

Обработка сообщения с приемом данных [D7]


-=GaLaN=- ©   (2004-01-22 21:14:00) 

У меня есть процедурка у формы Form1:
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
Я ей кидаю сообщение и передаю содержимое Form1.Edit1.Text:
SendMessage(Form1.Handle, WM_COPYDATA, 0, integer(Form1.Edit1.Text));

Как мне принять эту строку в процедуре WMCopyData, когда мне передается структура TWMCopyData, как мне из этой структуры выцепить строку?


-=GaLaN=-   (2004-01-23 17:27:00) [1]

Спасибо! Это работает!


MBo   (2004-01-23 16:30:00) [2]

ты совершенно неправильно делаешь. Видимо, хелп не читал и в описание CopyDataStruct не заглядывал

передатчик

procedure TForm5.Button1Click(Sender: TObject);
var Data: TCopyDataStruct;
   s:String;
begin
 s:=Memo1.Lines.Text;
   Data.dwData := 0;
   Data.cbData := Length(s);
   Data.lpData := @s[1];
   SendMessage(h, WM_COPYDATA,0,integer(@Data));
 end;
end;

приемник

procedure TFormA.WmCopyData(var Message: TMessage);
var s:string;
begin
SetLength(s, PCopyDataStruct(Message.LParam)^.cbData);
Move(PCopyDataStruct(Message.LParam)^.lpData^,s[1],Length(s));
Memo1.Lines.Text:=s;
end;


Наверх

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