![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка сообщения с приемом данных [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;