Здравствуйте, michael-programmer, Вы писали:
MP>Вопросы по HELEMENT:
MP>1. Может ли значение HELEMENT повторно назначаться новым элементам DOM, если я обильно модифицирую HTML в рамках работы с одним окном?
Теоретически — да. См. ниже.
MP>2. Можно ли ожидать, что для одного и того же элемента DOM всегда будет возвращаться одно и то же значение HELEMENT, даже если я НЕ увеличиваю количество внешних ссылок?
HELEMENT это обычный указатель на reference counted object:
Скажем вот имплементация внешнего метода HTMLayoutFindElement
//|
//| HTMLayoutFindElement
//|
HLDOM_RESULT HLAPI HTMLayoutFindElement(HWND hwnd, POINT pt, HELEMENT* phe)
{
html::layout_view* pview = html::layout_view::ptr(hwnd);
if(!pview)
return HLDOM_INVALID_HWND;
if(!phe)
return HLDOM_INVALID_PARAMETER;
critical_section cs(pview->_guard);
html::block* b = pview->find_block(gool::point(pt.x,pt.y));
if(b)
*phe = b;
else
*phe = 0;
return HLDOM_OK;
}
Как ты видишь я просто возвращаю указаьель на свой внутренний class html::block элемент.