Вниз
Скачать: CL | DM;

Передача ссылки на объект в SendMessage   Найти похожие ветки 

 
Nucer   (2009-10-22 23:26) [0]

Допустим ли подобный способ синхронизации? Или же это жуткие костыли?

wc := TWebClient.Create(url);
wc.SetFormHandle(MainForm.Handle);
wc.Execute;


procedure TWebClient.Execute;
begin
...
if FFormHandle <> 0 then
begin
FContent := ...;
FExtendedMessageType := WCME_CONTENT;
SendMessage(FFormHandle, WM_WEBCLIENT, WCM_EXTENDED, Integer(Self));
...
end;
...
end;


procedure WebClientMessage(var Msg: TMessage); message WM_WEBCLIENT;

procedure TMainForm.WebClientMessage(var Msg: TMessage);
var
wc: TWebClient;
begin
if msg.WParam = WCM_EXTENDED then
begin
wc := TWebClient(msg.LParam);
case wc.ExtendedMessageType of
WCME_CONTENT: ...;
...
end;
end;
end;


 
Nucer   (2009-10-22 23:34) [1]

Само собой все происходит в пределах одного процесса.


 
Игорь Шевченко ©   (2009-10-22 23:43) [2]


> Допустим ли подобный способ синхронизации?


Вполне



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
15-1255293008
Юрий
2009-10-12 00:30
2009.12.13
С днем рождения ! 12 октября 2009 понедельник


15-1255594116
ocean
2009-10-15 12:08
2009.12.13
Хочу повесить программу,


2-1256545768
@!!ex
2009-10-26 11:29
2009.12.13
Перемещение TrackBar кликом


15-1252563789
Terminal Name
2009-09-10 10:23
2009.12.13
Определить имена "тонких клиентов"


2-1256168975
TIF
2009-10-22 03:49
2009.12.13
Отобразить кнопку на панели задач (TaskBar)




   Наверх