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

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

Что такое _RemotableHandle при использовании IHTMLElementRender [D6, D7, Win2k, WinXP]


Grigory ©   (2004-10-12 13:43:00) 

Задача рендерить содержимое WebBrowser в нужный мне девайс конткст.
Делаю так:

procedure TForm1.Button2Click(Sender: TObject);
const
 WDT_INPROC_CALL=$48746457;
 WDT_REMOTE_CALL=$52746457;
 WDT_INPROC64_CALL=$50746457;
var
 doc:IHTMLDocument2;
 element:IHTMLElement;
 render:IHTMLElementRender;
 dc:_RemotableHandle;
 Res:HRESULT;
begin
 doc:=wb.Document as IHTMLDocument2;
 element:=doc.body;
 element.QueryInterface(IID_IHTMLElementRender,render);
 dc.fContext:=WDT_INPROC_CALL;
 dc.u.hInproc:=GetWindowDC(Form1.Handle);
  Res:=render.DrawToDC(dc);
 if Res<>S_OK then OleError(Res);
end;

Получаю еррор: Неправильный дескриптор.

_RemotableHandle представляет собой следующее:

 __MIDL_IWinTypes_0009 = record
   case Integer of
     0: (hInproc: Integer);
     1: (hRemote: Integer);
 end;

 _RemotableHandle = packed record
   fContext: Integer;
   u: __MIDL_IWinTypes_0009;
 end;

В мсдн это звучит к новый тип хендлов для перехода на 64 бит ОС.

Но и в МСДН и в Platform SDK 2003 метод DrawToDC описан с обычным хендлом HDC, а при импорте mshtml_tlb делает этот метод с переменной типа _RemotableHandle.

В чем гвозди как, решить проблему.

Или может кто знает как рендерить.
Соббщение WM_PRINT не подходит так как WebBrowser из-за своих багов перестает обращать внимание на это сообщение если его скрулили или кликали.


Grigory   (2004-10-12 14:01:00) [1]

Вопрос отпал, сегдня есть ответ на подобный вопрос, который меня вполне устраивает.


Наверх

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