Похоже что-то сломалось ...
Проблема первая:
1. Есть exe, в котором в ресурсах лежит main.htm;
2. main.htm подгружает часть своей разметки из внешнего файла(на диске), который лежит рядом с exe и sciter.dll;
Inspector пишет:
failed to load "//Tipsvc.dat" file, error=161
Если путь прописать абсолютный, то всё работает.
Перехожу с версии (4.1.*) на (4.4.1.4). Проверял по цепочке назад на разных минорных билдах, дошёл до 4.3 — всё то же самое.
Дальше искать надоело
Проблема вторая: view.dialog()
Версия 4.4.1.4 и более поздние (исключая, сюрприз! 4.4.0.6) по умолчанию показывают popup-диалог, который почему-то стал теперь "resizeable"
Явных упоминаний про resizeable стили для этого диалога у меня в html-разметке нет. Пробовал устанавливать view.windowResizable в false — не помогает.
Кстати пример samples\dialogs+windows\test-view-sizing.htm похоже имеет подобные "симптомы".
update:
Вижу, что начиная с 4.4.0.4 теперь "window-resizable is on by default on WINDOW_FRAME views."
Но тогда явная установка view.windowResizable всё равно не помогает.
Кстати, а как должен вести себя такой WINDOW_FRAME view при наличии у него в body
или html стилей min-width, max-width, min-height, max-height? Сейчас вроде эти стили
как-то совсем криво отрабатываются. Я так понимаю, что окно должно быть resizable,
но только в пределах этих самых указанных значений.
Спасибо!
Николай
Здравствуйте, Nikolaz, Вы писали:
N>Здравствуйте, c-smile, Вы писали:
CS>>С каким URL грузится тот main.htm ?
N>main.htm лежит в ресурсах exe — файла, а тот, что грузится через include — на диске, как внешний файл.
Ты не ответил на вопрос.
Если у тебя что-то типа этого
SciterLoadFile(hwnd,"res:main.htm");
То все относительные urls внутри того файла типа
<include src="child.htm" />
будут расчитываться относительно той базы ("res:main.htm"). По моему сие очевидно, нет?
Т.е. SC_LOAD_DATA получит запрос на "res:child.htm"
Сделай что-то типа
<include src="
home://exe/child.htm" />
И в SC_LOAD_DATA обрабатывай такие запросы замещая "
home://exe" на путь своего exe или что у тебя там.
Здравствуйте, c-smile, Вы писали:
CS>Если у тебя что-то типа этого
CS>CS>SciterLoadFile(hwnd,"res:main.htm");
CS>
Да. Именно так.
CS>будут расчитываться относительно той базы ("res:main.htm"). По моему сие очевидно, нет?
Это очевидно. Спору нет. Хочется понять как именно теперь это устроено. Раньше то ведь работало.
Но если раньше "by design" было неправильно и сейчас должно быть так, вопросов нет
CS><include src="home://exe/child.htm" />
CS>И в SC_LOAD_DATA обрабатывай такие запросы замещая "home://exe" на путь своего exe или что у тебя там.
Вот тут пожалуйчта по подробнее. "Замещая" — имеется в виду корректировка данных в структуре SCN_LOAD_DATA?
А что я должен вернуть из моего обработчика как код возврата (SC_LOAD_DATA_RETURN_CODES), чтобы Sciter
обработал дальше всё это уже как обычный файловый урл?
А что по второй проблеме с resizable?
Спасибо!
Николай
N>Здравствуйте, c-smile, Вы писали:
CS>>И в SC_LOAD_DATA обрабатывай такие запросы замещая "home://exe" на путь своего exe или что у тебя там.
Ok. Посмотрел на свой старый код и переписал всё нафиг с использованием sciter::archive::instance().
Раньше все htm лежали в win-ресурсах самого приложения. Поэтому была "чехарда" с их загрузкой и использованием.
Остался открытым вопрос с resizable. Я так понимаю это небольшой баг?
Спасибо!
Николай