Hola, quiero pasar unos datos html a texto plano y para ello utilizo el siguiente código dentro de un Tbutton:
Código Delphi
[-]
var
IDoc: IHTMLDocument2;
Strl: TStringList;
sHTMLFile: String;
v: Variant;
Links: IHTMLElementCollection;
i: Integer;
Link: IHTMLAnchorElement;
begin
if sOpenDialog1.Execute then
begin
sHTMLFile := sOpenDialog1.FileName;
Strl := TStringList.Create;
try
Strl.LoadFromFile(sHTMLFile);
Idoc:=CreateComObject(Class_HTMLDOcument) as IHTMLDocument2;
try
IDoc.designMode:='on';
while IDoc.readyState<>'complete' do
Application.ProcessMessages;
v:=VarArrayCreate([0,0],VarVariant);
v[0]:= Strl.Text;
IDoc.write(PSafeArray(System.TVarData(v).VArray));
IDoc.designMode:='off';
while IDoc.readyState<>'complete' do
Application.ProcessMessages;
Memo2.Lines.Text := IDoc.body.innerText;
finally
IDoc := nil;
end;
finally
Strl.Free;
end;
end;
Funciona bien, pero ocurre algo extraño que no se como puedo evitarlo, y es que al hacer la conversión de html a texto se abre una ventana de IExplorer en blanco con la siguiente url "about
:blank#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled&id= I0_1351596422868&parent=about%3A%2F%2F"
¿Existe alguna manera de evitar que se abra la ventana?
Supongo que de alguna manera se puede evitar al igual que se evita en un WebBrowser con solo poner Cancel:=True; en el OnNewWindow, pero no se como hacer en este caso.
Saludos.