Здравствуйте, Аноним, Вы писали:
А>>>как это сделать?
_>>А не легче ли сохранить этот AnsiString во временный файл с расширением .html, да запустить его ShellExecute'ом или WinExec'ом...
_>>Я думаю, что легче...
А>да...так легче
А>а если мне надо чтоб эксплорер запускался в окне программы?
Если имеется ввиду полноценный IE — в принцыпе невозможно. Как невозможно в "своем окне" запустить иной процесс.
Если имеется ввиду активИкс от IE — ради бога — TWebBrowser (D) или как его там в билдере, cppWebBrowser..
> А>>>нужно программно запустить IE, передав ему HTML для отображения, который хранится в AnsiString.
Способов много. Один из вариантов:
var
iWB: IWebBrowser2;
ov: olevariant;
v: Variant;
iDoc: IHtmlDocument2;
...
iWB := CreateOleObject('InternetExplorer.Application.1') as IWebBrowser2;
ov := 'about:blank';
iWB.Navigate(ov, emptyparam, emptyparam, emptyparam, emptyparam);
while iWB.ReadyState <> 4 do Application.ProcessMessages;
iDoc:= iWB.DefaultInterface.Document as IHtmlDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := aText; // Here's your HTML string
iDoc.Write(PSafeArray(TVarData(v).VArray));
iDoc.Close;
Ps. Писалось по памяти, возможно есть опячатки, но не искажающее смысла решения.
...