![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отложенная загрузка картинки в THTMLViewer/ThtmlLite [D7, XP]
antonn © (2011-02-03 03:14:00)Может кто работал с компонентами ThtmlLite или THTMLViewer, подскажите как без перегрузки html'я отобразить картинки закачанные позже исходника страницы? OnBitmapRequest и OnImageRequest срабатывают только при загрузке исходного текста, и если картинки нет то вместо нее рисуется картинка по-умолчанию. Перегрузка страницы сбивает позиции скрола, выделения, и заново грузит все ресурсы, потому такой подход неприемлем. Нужно как в обычном браузере.
antonn (2011-02-03 13:22:00) [1]проблема решена, мать их за ногу :)
чтобы воспользоваться методом InsertImage() нужно обязательно установить обработчик StreamRequest(), в котором для параметра var Stream: TMemoryStream;возвращать не стрим картинки, и не nil, а заранее созданый и обозначенный глобально стрим из юнита liteun2.
uses liteun2;
procedure TForm1.HTMLViewerhtStreamRequest(Sender: TObject; const SRC: String; var Stream: TMemoryStream);
begin
Stream:=WaitStream;
end;
antonn (2011-02-03 12:35:00) [2]да
Медвежонок ХМЛ (2011-02-03 12:33:00) [3]кто-то рекомендовал эти компоненты как замену Twebrowser.
ну что же. п
орекомендовали, а ты и взял.
а он
рисует только то что ему сразу дали.
был наверное огромный смысл в альтернативе?
antonn (2011-02-03 12:21:00) [4]
> он же вроде бы с исходниками?
>
да, а ты их видел? =)
> И тебе ни капельки не стыдно, что ты спрашиваешь именно
> тут? А не на "исходниках", "винграде" и т.д.?
нисколько. на исходниках и винграде отличный поиск, а здесь помню кто-то рекомендовал эти компоненты как замену Twebrowser.
> а THTMLViewer/ThtmlLite поддерживает скрипты? как в обычном.
> .. т.е. в частности ajax будет работать? тогда всю страницу
> можно и не перезагружать.
>
это костыльно выглядит. К тому же там нет загрузки данных по сети как таковой, это делается своими силами, компонент только рисует то что ему дали (т.е. я скачиваю сам и ему скармливаю). И пока проблема в том, что он рисует только то что ему сразу дали.
sniknik (2011-02-03 07:51:00) [5]> Нужно как в обычном браузере.
а THTMLViewer/ThtmlLite поддерживает скрипты? как в обычном... т.е. в частности ajax будет работать? тогда всю страницу можно и не перезагружать.
Германн (2011-02-03 03:30:00) [6]
> antonn © (03.02.11 03:14)
<offtop>
И тебе ни капельки не стыдно, что ты спрашиваешь именно тут? А не на "исходниках", "винграде" и т.д.?
</offtop>
KilkennyCat (2011-02-03 03:20:00) [7]он же вроде бы с исходниками?
antonn (2011-02-03 03:18:00) [8]THTMLViewer.InsertImage() визуально ничего не меняет