Ну по твоему вопросу есть много вариантов

Вот например парочка:
1)
Код:
procedure tformdata.webbrowser1documentcomplete(sender: tobject;
const pdisp: idispatch; var url: olevariant);
var
webbrowser: iwebbrowser;
htmldoc2: ihtmldocument2;
htmldata: variant;
begin
webbrowser := pdisp as iwebbrowser;
if assigned(webbrowser) then
begin
htmldoc2 := webbrowser.document as ihtmldocument2;
if assigned(htmldoc2) then
begin
htmldata := vararraycreate([0, 0], varvariant);
htmldata[0] := 'html ный код'
htmldoc2 := htmldoc2.open('text/html', 'replace', emptyparam, emptyparam)
as
ihtmldocument2;
htmldoc2.write(psafearray(tvardata(htmldata).varray));
htmldoc2.close;
end;
end;
end;
procedure tformdata.button1click(sender: tobject);
begin
webbrowser1.navigate('about:blank');
webbrowser1.create(nil);
end;
2)
Код:
var
v: Variant;
HTMLDocument: IHTMLDocument2;
begin
WebBrowser1.Navigate('about:blank');
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := HTMLString; //твой html
HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
HTMLDocument.Close;
end;
Второй точно работает, первый не проверял. А вообще, учись искать на просторах ЦЦЦ
