Андрей, добрый день!
Первый шаг миграции завершился — проект компилируется.
Возникла еще пара вопросов уже по этапу выполнения.
sciter64.dll и sciter32.dll насколько сильно завязаны на свои собственные имена? Можно ли обойти эти завязки снаружи?
В частности, хотелось бы пользоваться одним именем — sciter.dll, а соответствующую по разрядности библиотеку "подкладывать" к бинарникам при сборке.
Поменял SCITER_DLL_NAME на "sciter.dll", получаю вот такое при вызове SciterSelectElements:
Unhandled exception at 0x00007FF9DAAEFE34 (ntdll.dll) in .exe: 0xC000041D: Во время обратного вызова пользователя обнаружено необработанное исключение.
Call stack:
ntdll.dll!RtlpWaitOnCriticalSection()
ntdll.dll!RtlpEnterCriticalSectionContended()
sciter.dll!00007ff9b46133b8()
...
Что-то изменилось с интерпретацией url() в CSS? В HTMLayout для подобных конструкций (загрузка данных через ресурсы приложения)
@import url(font.css);
.tree_view
{
foreground-image:url(folder.png);
}
в OnLoadData приходили значения LPNMHL_LOAD_DATA->uri "font.css" и "folder.png" соответственно.
Для Sciter в on_load_data приходят значения LPSCN_LOAD_DATA->uri "file://font.css" и "file://folder.png".
Загрузчик ресурсов (sciter::load_resource_data), понятное дело, с таким префиксом из ресурсов файл подтянуть не может.
Как поступить (или может просто что-то настроить можно)?
Прописывать во всех url() префикс res: — не очень радужная перспектива.
Считать, что file: сознательно использоваться не будет, и интерпретировать его аналогично res: — веселее, но правильно ли?