Re[7]: Отладочные символы
От: c-smile Канада http://terrainformatica.com
Дата: 26.01.10 07:53
Оценка:
Здравствуйте, samodelkin, Вы писали:

S>Здравствуйте, c-smile, Вы писали:


CS>>Я сильно подозреваю что и имя моей функции тебе ничего не скажет.


CS>>Есть такая штука class htmlayout::dom::expando .

CS>>С её помощью можно отследить висящие DOM элементы.
CS>>Алгоритм примерно следующий:

CS>>1) момент X проходим по всем элементам и назначаем на каждый свое expando.

CS>>При этом добавляем эти expando в map<HELEMENT,expando*>.
CS>>2) Закрываем окно или грузим другой документ. В процессе выгрузки будет вызван
CS>>expando::finalize() для всех элементов с expando.
CS>>По finalize() удаляем DOM элемент из map<HELEMENT,expando*>.

CS>>По завершению данной операции в map<> останутся зависшие элементы.

CS>>В большинстве случаев достаточно просто вывести их tag name чтобы понять где оно и что оно.

S>Я на самом деле вызываю функцию, наподобие этой:


S>
S>const char* pdoc = "<html><frame src='http://terrainformatica.com/' /></html>";
S>HTMLite::load(LPCBYTE(pdoc),strlen(pdoc));
S>

S>со своим собственно подготовленным html.
S>Поэтому даже не представляю, что мне потом делать с dom-элементами. Предполагаю, что не освобождается image, локальный путь на который указан в моем html.

Все images гарантированно освобождаются при загрузке нового документа во view.
Фактически коллекция images есть member variable в root node. Т.е. если никто root node не держит то и images удаляются.

S>А что мне делать с неосвобожденными dom-элементами после того, как я пойму, что они например не выгружаются ? Есть ли специальные функции для их выгрузки ?


Неосвобожденные DOM элементы означают что у тебя больше вызовов HTMLayout_UseElement() чем HTMLayout_UnUseElement()
что есть add_ref/release пара. И это само собой надо фиксить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.