Цитата:
if WB.Document = nil then WB.Navigate('about:blank');
v := VarArrayCreate([0, 0], varVariant); Это массив из одного элемента типа Variant?
|
Да, это массив из одного элемента.
Цитата:
(WB.Document as IHTMLDocument2).Write(PSafeArray(TVarData(v).VArra y));
as - Это что за оператор?
|
Оператор приведения к типу; так же как и конструкция: IHTMLDocument2(WB.Document).
Цитата:
(впрочем судя по точке мы обращаемся к WB.Document как классу IHTMLDocument2) и
|
IHTMLDocument2 - это не класс, а Interface (модуль MSHTML.PAS).
Цитата:
записываем в него PSafeArray - тоже непонятный оператор(или это массив?).
|
PSafeArray - структура (модуль ActiveX.pas). Не записываем в него ничего, а приводим вариантный массив к этому типу, т.к.
IHTMLDocument2.Write принимает параметр именно типа PSafeArray.
Цитата:
-( TVarData - тоже непонятно что но хоть аргумент ясен. -)))
И для этого непонятно чего вызываем метод VArray(не знаю такого).
|
VArray - не метод, а тип вариантной переменной, который объявлен в TVarData - packed record.
Дело в том, что структура PSafeArray и PVarArray одинаковы (TVarData(v).VArray - таким выражением получаем "v" типа PVarArray), поэтому берется вариантный массив (в нашем случае массив символов html страницы) и приводится к типу, который принимает процедура Write.
Цитата:
(WB.Document as IHTMLDocument2).Close; (Закрыть и закрыть, я не против, ток где мы открывали не ясно -( ).
|
Открытие документа здесь: WB.Navigate('about
:blank');