Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.02;
Скачать: CL | DM;

Вниз

Передача сообщения   Найти похожие ветки 

 
webpauk   (2006-05-24 12:32) [0]

const
 WM_MYUSERINFO = WM_USER + 126;
type
 TmyRec = record
    var1: Integer;
    var2: String;
    var3: Boolean
end;
var
 fMyRec: TmyRec ;

procedure DoSomething;
begin
  SendMessage(fHWND, WM_MYUSERINFO, 0, LParam(fMyRec));
end;

procedure WMMYUSERINFO(var msg: TMessage); MESSAGE WM_MYUSERINFO;

procedure TForm7.WMMYUSERINFO(var msg: TMessage);
var
 fTuuu: TmyRec ;
begin
 fTuuu:=TmyRec (msg.LParam);
end;


Подскажите правильно ли такая конструкция.
У меня fTuuu - нечитаема.
как правильно передать запись через sendmessage?


 
Сергей М. ©   (2006-05-24 12:41) [1]


> У меня fTuuu - нечитаема


Конструкция LParam(fMyRec) даже скомпилирована быть не может, какая уж тут "читаемость" ?

О "читаемости" есть смысл говорить лишь при условии успешной компиляции кода и при условии уточнения, внутрипроцессный или межпроцессный обмен сообщениями предполагается..

При межпроцессном это не правильно.


 
webpauk   (2006-05-24 12:43) [2]


> Сергей М. ©   (24.05.06 12:41) [1]

а как передать структуру?


 
webpauk   (2006-05-24 12:51) [3]

вроде нарыл:
SendMessage(fHWND, WM_COPYDATA, 0, Integer(@fMyRec));

procedure TForm7.WMCopyData(var Msg: TWMCopyData);
var
 fTuu:TUsersFromGroup;
begin
 fTuu:=TUsersFromGroup(msg.CopyDataStruct.dwData);
 ShowMessage(fTuu[0].Caption);
end;


 
webpauk   (2006-05-24 12:54) [4]

ShowMessage(fTuu[0].Caption);~ShowMessage(fTuu.var2);
(в рамках вышеизложенного так правильно)



Страницы: 1 вся ветка

Текущий архив: 2006.07.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1149356382
lookin
2006-06-03 21:39
2006.07.02
В Скайп поговорить никто не желает?


1-1148133872
***(H@kker)***
2006-05-20 18:04
2006.07.02
Скорость работы


15-1149438789
Колдун
2006-06-04 20:33
2006.07.02
Вопрос про Властелина Колец


2-1149914431
dimodimz-FurYzzZ
2006-06-10 08:40
2006.07.02
Сумма элементов ячейки в таблице


2-1150108493
Старый пляж
2006-06-12 14:34
2006.07.02
Помогите не знаю как сделать!