![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача ссылки на объект в SendMessage
Nucer © (2009-10-22 23:26:00)Допустим ли подобный способ синхронизации? Или же это жуткие костыли?
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;
Игорь Шевченко (2009-10-22 23:43:00) [1]
> Допустим ли подобный способ синхронизации?
Вполне
Nucer (2009-10-22 23:34:00) [2]Само собой все происходит в пределах одного процесса.