Здравствуйте, TK, Вы писали:
CS>>Еще раз, что-то держит элемент.
TK>А в HTMLayout не держит? Реализация для Htmlayout/Sciter отличается только тем, что в одном случае дергаются функции Htmlayout а в другом, SciterGetDomApi() и вызовы SciterDomApi — в HTMLayout при удалении все детачится, в Sciter нет. Я правильно понимаю, что HELEMENT это просто поинтер на какой-то C++ объект? Если смотреть на него отладчиком то, счетчик ссылок в ноль уходит.
TK>Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?
Здравствуйте, c-smile, Вы писали:
TK>>Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?
CS>Ты можешь собрать минимальный пример для Sciter?
Да, здесь два варианта — один htmlayout, другой sciter при клике на кнопку удаляется элемент #content
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, c-smile, Вы писали:
TK>>>Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?
CS>>Ты можешь собрать минимальный пример для Sciter?
TK>Да, здесь два варианта — один htmlayout, другой sciter при клике на кнопку удаляется элемент #content
А что должно происходить?
У меня при запуске возникает
MsgBox ("attached {content}" )
после него окно со sciter. При закрытии оного получаю:
MsgBox ("detached {content}" )
И для htmlayout и для sciter. И на твоей версии sciter/htmlayout и на том что есть у меня.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, c-smile, Вы писали:
CS>>Что здесь не так?
TK>Надо мышкой на кнопку с картинкой в левом верхнем кликнуть Тогда, для Htmlayout detached будет, а для sciter нет
В каком случае генерируется твой MsgBox("detached")?
Здравствуйте, c-smile, Вы писали:
TK>>Надо мышкой на кнопку с картинкой в левом верхнем кликнуть :) Тогда, для Htmlayout detached будет, а для sciter нет CS>В каком случае генерируется твой MsgBox("detached")?
Это результат уведомления BEHAVIOR_DETACH.
код формы примерно такой:
Здравствуйте, Obukhov, Вы писали:
O>Но есть пара особенностей: O>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select. O>2. При перещелкивании select с помощью курсорных клавиш, значение у code#INPUT_CODE меняется на адекватное, но при этом сам select остается неизменным (не перерисовывается).
O>как можно побороть пункт 1 ?
Гляну.
O>по второму щас постараюсь прислать пример.
Да, надо.
Здравствуйте, Obukhov, Вы писали:
O>Здравствуйте, c-smile, Вы писали:
CS>>Чего-то VC optimizer невзлюбил один мой файл...
O>Интересно, а как вы ловили что оптимайзер сломал код ? O>вопрос чисто по обмену опытом
Да в общем тривиально. У меня две release версии с разными установками оптимизации. В одной валится в другой нет.
Пара моих проблем и один достоверный глюк оптимизатора.
Здравствуйте, Obukhov, Вы писали:
O>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.
Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, Obukhov, Вы писали:
O>>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.
CS>На пока: CS>
Здравствуйте, Obukhov, Вы писали:
O>Здравствуйте, c-smile, Вы писали:
CS>>Здравствуйте, Obukhov, Вы писали:
O>>>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.
CS>>На пока: CS>>
Здравствуйте, Obukhov, Вы писали:
O>Здравствуйте, c-smile, Вы писали:
CS>>Здравствуйте, Obukhov, Вы писали:
O>>>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.
CS>>На пока: CS>>
select#CODE {
assigned! : $1(code#CODE):value = $1c(option[selected]):value; // здесь (при инициализации) берем declared value
value-changed! : $1(code#CODE):value = $1c(option:current):value; // здесь (после value-changed!) берем runtime value
}
CS>Состояние :current у option появляется только тогда когда он был активирован, скажем получил фокус. CS>До этого :current не определен.
CS>Что делать?
CS>Первое, объявить нужную option c атрибутом selected как я сказал в сообщении выше:
CS>
CS>select#CODE {
CS> assigned! : $1(code#CODE):value = $1c(option[selected]):value; // здесь (при инициализации) берем declared value
CS> value-changed! : $1(code#CODE):value = $1c(option:current):value; // здесь (после value-changed!) берем runtime value
CS>}
CS>
А атрибут default подойдет ?
Вроде сделал тоже самое с атрибутом default, нифига не получилось
Потом переделал все на selected — тоже самое
закрались некоторые подозрения...
взял и сделал глобальную CSSS функцию: test_call()
CS>>select#CODE {
CS>> assigned! : $1(code#CODE):value = $1c(option[selected]):value; // здесь (при инициализации) берем declared value
CS>> value-changed! : $1(code#CODE):value = $1c(option:current):value; // здесь (после value-changed!) берем runtime value
CS>>}
CS>>
O>А атрибут default подойдет ?
Нет. См. ссылку в пред. сообщении.
O>Вроде сделал тоже самое с атрибутом default, нифига не получилось
Что именно не получилось?
O>Потом переделал все на selected — тоже самое O>закрались некоторые подозрения... O>взял и сделал глобальную CSSS функцию: test_call()
O>и попробовал сделать вот так: O>
Здравствуйте, c-smile, Вы писали:
CS>Это все работает.
Отличие присланного примера от реальной программы вот в чем:
<select id="CODE" size="1" .requred style="width:100px"><include src="dict:2:1"/></select>
И по HLN_LOAD_DATA, я отдаю реальное содержимое этого combo. Содержимое этого списка генерится из "справочника" лежащего в БД программы.