Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Проблемы при memo.text->Webbrowser


Автор: AJIeKcEu 12.1.2011, 09:54
Добрый день Уважаемые друзья!
У меня возникли проблемы при попытке вывести содержимое из memo1.text в Webbrowser.

В сети нашел вот такой способ:

Webbrowser1.oleobject.document.body.innerhtml:=memo1.text;

в мемо написано: <html><b>ПРОВЕРКА</b> </html>

При компиляции не возникает ошибок, однако при запуске этого кода (в событии кнопки нажатие)
выскакивает ошибка: картинка в приложении 
и попадает на эту строчку для отладки.

Пожалуйста подскажите почему может быть так?


использую Delphi 7 Build4.453


В заранее благодарю!

Автор: Данкинг 12.1.2011, 11:25
А если просто сохранить текст из Memo в файл .htm и загрузить в WebBrowser обычным способом?

Автор: Poseidon 12.1.2011, 12:10
Код
procedure LoadHtmlInWebbrowser(DestWB: TWebBrowser; HtmlString: String);
var
  sl: TStringList;
  ms: TMemoryStream;
begin
  DestWB.Navigate('about:blank');
  while (DestWB.ReadyState < READYSTATE_INTERACTIVE) do
    Application.ProcessMessages;
  if Assigned(DestWB.Document) then
  begin
    sl := TStringList.Create;
    try
      ms := TMemoryStream.Create;
      try
        sl.Text := HtmlString;
        sl.SaveToStream(ms);
        ms.Seek(0, 0);
        (DestWB.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
      finally
        ms.Free;
      end;
    finally
      sl.Free;
    end;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
LoadHtmlInWebbrowser(WebBrowser1, memo1.text);
end;


в uses должно быть SHDocVw (должно добавится само при добавлении WebBrowser) и ActiveX;

Автор: AJIeKcEu 12.1.2011, 14:13
Данкинг Почитай внимательнее все наоборот требуется!smile

Poseidon Огромное спасибо за вспомогательную процедуру!

Автор: Данкинг 12.1.2011, 16:42
Цитата(AJIeKcEu @  12.1.2011,  14:13 Найти цитируемый пост)
Данкинг Почитай внимательнее все наоборот требуется!

В смысле, наоборот? Выгружаешь из MEMO и грузишь в браузер - разве не так?

Автор: Poseidon 12.1.2011, 17:43
Данкинг, согласись, перекидывать информацию внутри одной программы через файл - не логично. Так можно предложить еще из мемо загружать на удаленный сервер, а потом браузером загружать. Ты же не станешь из TStrings в мемо загружать текст, используя методы SaveToFile и LoadToFile. Так и тут.

Автор: Данкинг 12.1.2011, 20:04
Poseidon, я не говорю, что моё предложение логично, я о том, что вроде как задачу-то понял правильно. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)