Jogar um arquivo html no webbrowser delphi

21/09/2017

0

Estou jogando um arquivo html em um webbrowser no delphi porem ele fica totalmente desconfigurado e quando eu abro no chrome a pagina está certinha porque disso e como faço para arrumar ?
Rodrigo Oliveira

Rodrigo Oliveira

Responder

Posts

21/09/2017

Felipe Morais

Bom dia, Rodrigo

Qual versão do Delphi você está usando? Pode postar seu código pra gente tentar te ajudar?
Responder

21/09/2017

Rodrigo Oliveira

Delphi 7 , estou usando o componente webbrowser !

procedure TForm1.Button1Click(Sender: TObject);
var
  sHTML : AnsiString;
begin
  sHTML  := query1.fieldbyname('css').AsString+
            query1.fieldbyname('css2').AsString+
            query1.fieldbyname('css3').AsString+
            query1.fieldbyname('css4').AsString;
  WBLoadHTML(WebBrowser1,'');
end;


procedure tform1.WBLoadHTML(WebBrowser: TWebBrowser; HTMLCode: string) ;
var
   sl: TStringList;
   ms: TMemoryStream;
begin
   WebBrowser.Navigate('about:blank') ;
   while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
    Application.ProcessMessages;

   if Assigned(WebBrowser.Document) then
   begin
     sl := TStringList.Create;
     try 
       ms := TMemoryStream.Create;
       try
         sl.Text := HTMLCode;
         sl.SaveToStream(ms) ;
         ms.Seek(0, 0) ;
         (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)) ;
       finally
         ms.Free;
       end;
     finally
       sl.Free;
     end;
   end;
end;
Responder

21/09/2017

Felipe Morais

Como não tenho como visualizar o conteúdo da sua Query, use o Ctrl+7 do debbuger pra ver o conteúdo da variável "sHTML". Se a estrutura da página está desconfigurada, pode ser suas instruções CSS que estão perdendo a formatação na hora de concatenar e passar para a variável "sHTML".

Outra coisa, qual era seu objetivo nesta linha de código?

WebBrowser.Navigate('about:blank') ;
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar