Инструмент разработки — Delphi7; также попутно тестировал в Delphi XE 7 x32 — вроде бы работает, но у меня закончился пробный период :(
В любом случае .bpg для Delphi 7 без проблем открывается в любой более новой версии Delphi.
Sciter/TIScript API транслирован процентов на 90%, реализованы основные фичи (DOM, обработка событий, регистрация нативных функций и классов, вызов функций TIScript из Delphi и наоборот), плюс добавлена поддержка COM/OLE. API работы с DOM и селекторами (IElement/IElementCollection) построено на счетчиках ссылок и не требует особо бережного обращения с памятью.
Здравствуйте, c-smile, Вы писали:
CS>Круто, спасибо! Добавил ссылку на твой GitHub на Sciter home page (справа).
Пока не за что )
Хочу вернуться к нашим баранам:
1) Всплываюшие окна
Вот там в демке самый последний пример — это то, о чем мы как-то беседовали: Sciter как WS_CHILD, показывающий модальный диалог, который нельзя закрыть мышкой.
Посмотри, пожалуйста, вдруг чего на ум придет.
Не понимаю, кто тут косячит — VCL или SciterProcND. В Delphi есть один workaround-способ перехватить полный контроль над очередью сообщений (в том числе и ловить клики над всеми окнами), но он ресурсопрожорливый и я бы его задействовать не хотел
2) После загрузки страницы иногда пропадает кусочек низа. В этой же демо сразу после запуска раздел "Popups from child windows issue" сразу не виден, а если чуть-чуть отресайзить главную форму, то все отрисовывается.
3) Окно, пришпиленное к элементу (в демке — "Native Delphi Control inside Sciter") не всегда своевременно реагирует на изменение размеров или перепозиционирование элемента-владельца.
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, c-smile, Вы писали:
CS>>Круто, спасибо! Добавил ссылку на твой GitHub на Sciter home page (справа).
B>Пока не за что ) B>Хочу вернуться к нашим баранам:
B>1) Всплываюшие окна B>Вот там в демке самый последний пример — это то, о чем мы как-то беседовали: Sciter как WS_CHILD, показывающий модальный диалог, который нельзя закрыть мышкой. B>Посмотри, пожалуйста, вдруг чего на ум придет. B>Не понимаю, кто тут косячит — VCL или SciterProcND. В Delphi есть один workaround-способ перехватить полный контроль над очередью сообщений (в том числе и ловить клики над всеми окнами), но он ресурсопрожорливый и я бы его задействовать не хотел
Похоже что это всё-таки VCL, надо мне аналогичный пример на C нарисовать ...
B>2) После загрузки страницы иногда пропадает кусочек низа. В этой же демо сразу после запуска раздел "Popups from child windows issue" сразу не виден, а если чуть-чуть отресайзить главную форму, то все отрисовывается.
Что-то там с WM_SIZE не вовремя приходит. Посмотрю.
B>3) Окно, пришпиленное к элементу (в демке — "Native Delphi Control inside Sciter") не всегда своевременно реагирует на изменение размеров или перепозиционирование элемента-владельца.
Child окна желательно не использовать в scrollable контейнерах. Либо выключать animated scroll в CSS.
вызывается с pretval указывающим на какой-то мусор.
Все переменные SCITER_VALUE должны быть (must be) инициализированы ValueInit(pretval) функцией перед любым использованием. Ну или хотя бы memzero() на них...
CS>Все переменные SCITER_VALUE должны быть (must be) инициализированы ValueInit(pretval) функцией перед любым использованием. Ну или хотя бы memzero() на них...
Есть такое. В одном месте я это даже заметил раньше и поправил, хотя там по сути должен был быть out/retval параметр. Учту
out/retval тоже должен быть проинициализирован. Я для таких параметров сам ValueInit вызывать не могу.
Вызываю только ValueClear(). Иначе будет mem leak, например в таком сценарии
{
sciter::value rv; // ctor, calls ValueInit();
SciterEval ( ... "gate.version" , &rv); // calls ValueClear() on rv to free references.
...
SciterEval ( ... "gate.mode", &rv); // calls ValueClear() on rv to free references.
} // sciter::~value() here calls ValueClear() to free references, etc.
Еще одна проблемка.
Причесываю API и анализирую коды возвратов.
И вот SciterCreateElement почему-то возвращает мне какой-то адовый SCDOM_RESULT, конкретно — 4214947.
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, c-smile, Вы писали:
B>Еще одна проблемка. B>Причесываю API и анализирую коды возвратов. B>И вот SciterCreateElement почему-то возвращает мне какой-то адовый SCDOM_RESULT, конкретно — 4214947.
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, c-smile, Вы писали:
CS>>Здравствуйте, baranovda, Вы писали: CS>>А вот интересно, в Дельфях есть RAII?
B>В новых есть, в старых нет. Но это ему не сильно помогает Delphi это уже считай как латынь
Понял, Дельфи это такая СССРовская хрущевка — жуткая, страшная, пора ломать, но люди еще живут.