Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизWebBrowser Найти похожие ветки
← →
EvgeniyR © (2004-04-02 11:38) [0]Как отобразить текст в TWebBrowser"е, не сохраняя его на диск. Заранее спасибо.
← →
[BAD]Angel © (2004-04-02 14:06) [1]не понял! что значит не созраняя его на диск? на канвасе чтли писать? откуда ты бушь инфу брать для отображения в ТВЕББровзере? если только из инета!
← →
TUser © (2004-04-02 14:11) [2]Webbrowser1.Navigate2("about:<html><body><h1>ВАУ</h1></body></html>");
← →
[BAD]Angel © (2004-04-02 14:31) [3]а вот этого не знал признаю свою не правоту :) вот только в 7 Дэльфях не Navigate2, а просто Navigate
← →
SergP © (2004-04-02 18:05) [4]Не советую делать через about:.....
Когда-то тоже пытался так делать... Для страничек до приблизительно 2Кб работает нормально. А большие обрезает... Причем эта цифра (около 2 Кб) в разных случаях разная...
Делайте так:
procedure TForm1.WBLoad(HTMLstring:string);
var
v: Variant;
HTMLDocument: IHTMLDocument2;
begin
HTMLDocument := WB.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := HTMLString;
HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
HTMLDocument.Close;
end;
Хотя правда говорят что и єтот метод не лишен недостатка (утечка памяти), но я пока такого за ним не замечал...
← →
nikkie © (2004-04-02 20:30) [5]>но я пока такого за ним не замечал...
формочку с веб-браузером создай-выполни этот код-разрушь. или выполни навигацию в браузере, выполни этот код, потом опять, раз этак много. заметишь.
а исправить-то просто - заменить WB.Document на WB.DefaultInterface.Document.
← →
SergP © (2004-04-02 20:51) [6]>nikkie © (02.04.04 20:30)
>>но я пока такого за ним не замечал...
>формочку с веб-браузером создай-выполни этот код-разрушь. или выполни
>навигацию в браузере, выполни этот код, потом опять, раз этак много.
>заметишь.
Данный код я использую в клиенте форумов, который я писал (вернее и сейчас пишу, т.е. усовершенствую).
Там при создании главной формы выполняется navigate, а в дальнейшем при смене топика генерится в переменной страничка и "впихивается" в Твеббраузер. Бывает что этот код выполняется очень много раз, но пока я ничего страшного не замечал. Видимо потери если и есть, то они незначительные...
Хотя я все-же решил послушаться Вашего совета и переделать прогу согласно ему... (На всякий случай)
← →
nikkie © (2004-04-02 22:59) [7]>Видимо потери если и есть, то они незначительные...
нет, потери весьма значительные, но они возникают только при схеме
Navigate - WebBrowser.Document - Navigate - WebBrowser.Document - ...
дело в том, что свойство WebBrowser.Document описано какproperty Document: IDispatch index 203 read GetIDispatchProp;
а метод GetIDispatchProp (а заодно и GetIUnknownProp) в TOleControl реализован с ошибкой, которая ведет к тому, что AddRef вызывается лишний раз. в результате объект HTMLDocument никогда не уничтожится. ты работаешь только с одним документом, поэтому проблемы не видишь, но как только вызовешь Navigate, WebBrowser освободит документ и создаст новый. тут и возникает memory leak.
эта проблема упомянута в статье Игоря Осовьяка на королевстве. собственно от него я про утечку и узнал.
ЗЫ по поводу клиента - в первой версии DMClient я тоже так делал, но нормальную историю (кнопки навигации вперед-назад) сделать при таком подходе очень и очень проблематично. поэтому и переделал на app.
← →
SergP © (2004-04-02 23:11) [8]Понятно...
просто у меня Navigate используется только один раз при запуске программы, а далее
WebBrowser.Document много раз пока прога не будет закрыта...
Кстати насчет Вашего клиента к этому форуму: Где можно скачать исходники обоих версий: первую и ту что на app для тогочтобы глянуть (т.е. для общего развития)?. Меня app интересует... Насколько я помню Вы ведь выкладывали их для всех...
Если что, то свой клиент к этому форуму я писать не собираюсь. Кстати пользуюсь Вашим... А клиент пишу к другим форумам (типа vbulletin и phpBB)
← →
nikkie © (2004-04-02 23:28) [9]вторая версия здесь:
http://sourceforge.net/projects/dmclient/
исходники первой версии я не выкладывал.
ЗЫ мне больше нравится, когда ко мне на ты обращаются. если нет возражений...
← →
SergP © (2004-04-02 23:40) [10]>ЗЫ мне больше нравится, когда ко мне на ты обращаются. если нет
>возражений...
ОК. Просто иногда проскакивают топики где кому-нить такое не нравится.. :))
поэтому и стараюсь по возможности не забывать об этом...(Не всегда правда помню об этом)...
А за ссылку спасибо...Щас закачаю....
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c