Здравствуйте, alex1nax, Вы писали:
A>Спасибо за ответ. И вполне, может быть, по теме. Только бы чуть больше конкретики, на что именно нужно обратить внимание в моем коде по перечисленным вами пунктам? С C++ опыта нет, поэтому любые советы будут очень кстати.
По памяти:
1. На С++ автоматом выполняются преобразования между HELEMENT — dom::element. Как реализовать нормальный dom или эмуляцию композитных классов со множественным наследованием (например одновременно behavior и event_handler) на Delphi я не представляю
2. На С++ Андрей написал удобные функции преобразования tiscript::value — VARIANT
3. В С++ Более прозрачная работа с unicode (нормальная поддержка UTF-8 в Delphi емнип появилась только в Delphi XE). У меня D7, и я в паре мест наталкивался на некорректную работу функций UTF8Decode/UTF8Encode (при преобразовании отрезалась часть конвертируемой строки).
4. В VCL иногда (не помню уже почему) нельзя было создавать окно Sciter в конструкторе формы, т.к. вылетала известная ошибка Control ... has no parent window.
5. Неявное преобразование VARIANT-WideString-String в Delphi работает очень неочевидно, нужно очень хорошо понимать, что делается внутри, быть начеку и постоянно смотреть, что генерирует компилятор.
Это по памяти. Часть этих проблем решается довольно просто допиливанием AxSciter.
Здравствуйте, alex1nax, Вы писали:
A>Пытаюсь написать обертку sciter-x.dll для Delphi.
Извиняюсь, что не совсем по теме, но код просто кишит потенциальными проблемами из-за юникода, бинарной переносимости машинного кода С++/Delphi, специфики менеджера памяти Pascal, специфики VCL т.д. Это очень тягомотно отлавливать, поэтому имхо гораздо лучше наладить взаимодействие между Sciter и Delphi через COM/ATL.
A>В чем может быть проблема?
Во всем вышеперечисленном Берите студию, настраивайте ее на отладку проекта в Delphi IDE и ловите.
Извиняюсь, что не совсем по теме, но код просто кишит потенциальными проблемами из-за юникода, бинарной переносимости машинного кода С++/Delphi, специфики менеджера памяти Pascal, специфики VCL т.д.
Спасибо за ответ. И вполне, может быть, по теме. Только бы чуть больше конкретики, на что именно нужно обратить внимание в моем коде по перечисленным вами пунктам? С C++ опыта нет, поэтому любые советы будут очень кстати.
А ActiveX'ом первого Sciter'а как раз пользовался. Там, насколько я успел его "узнать", обеспечено минимально необходимое взаимодействие и его, в принципе, достаточно. Но, как говорится, однажды что-то стукнуло в голову — захотелось большего и пока не отпускает. Может, это извращение, но все-таки...
И, как-то, все-таки, странно... По отдельности-то все работает...
Здравствуйте, alex1nax, Вы писали:
A>Пытаюсь написать обертку sciter-x.dll для Delphi.
Думаю, стоит посмотреть на существующие, т.к. слишком много ошибок в вашем коде.
Здравствуйте, flаt, Вы писали: F>Думаю, стоит посмотреть на существующие, т.к. слишком много ошибок в вашем коде.
Поделитесь пожалуйста ссылками, если можно, то не на "концепты".
А то я тут для Htmlayout свою обертку допилил (даже SVG движок свой прикрутил), думаю заняться Sciter вплотную, а, вдруг, уже кто-то написал...
Думаю, стоит посмотреть на существующие, т.к. слишком много ошибок в вашем коде.
Да-да, ссылки на "посмотреть" были бы кстати. Я, например, кроме этого ничего не нашел.
И по-поводу "много ошибок" — что именно вы имеете ввиду. Хотелось бы указания хотя бы на пару мест в моем коде.