Новый эмулятор

Running Kolibri and its programs in other OSes
  • Винда XP SP2.
  • diamond
    Хрюшка SP1
  • Доработан код эмуляции 70-й функции, теперь по идее глюк с неправильной обработкой некорневых папок должен исчезнуть.
  • Исправлен один баг в функции 18.11; функция 71.1, как и в Колибри, теперь устанавливает флаг наличия заголовка, даже если он не передаётся в функции 0.
    Ушёл к умным, знающим и культурным людям.
  • При разработке новой версии Tinypad'а заметил ещё один баг, не знаю насколько известный и исправленный ли: функция 71.1 не перерисовывает заголовок полностью, а лишь рисует новый текст поверх старого. Ну и ещё один, до кучи (более пожелание): нужно бы сделать перемещение окон таким как в КоОС; дело в том, что сейчас эмулятор посылает окну события о перерисовке в крайне неправильные моменты, в результате, например, не закрывается окно всплывающего меню всё того же Tinypad'а.
  • пока неизвестный и неисправленный, но уже принятый к сведению
  • diamond
    Я тут наколбасил описалово к замеченному мной глюку. Можешь скачать здесь. http://ifolder.ru/822608 Там один Word-овский документ в RAR-архиве. Если что, пиши помогу чем могу :) (кодинг и тестирование).
  • YELLOW
    Цитата из KlbrInWin.ini:
    # path to ramdisk, must end with '\'
    # hd<i>_<j> = Win32 path for /hd<i>/<j>, 0 <= i <= 3, 1 <= j <= hd<i>n
    # must end with '\'
  • diamond
    Ок, спасибо, ступил. :oops: :(
  • Ещё пара багов, и опять же в процессе тестирования нового Tinypad'а :) Они в принципе из одной области: 1) не работает удаление кнопок (8-я функция, 31-й бит в EDX) и 2) при поиске нажатой кнопки они перебираюся в прямом порядке (в порядке их создания), а нужно вроде бы в обратном (хотя я и не уверен).
    И ещё предложение от Victor'а - добавить в эмулятор функцию 18.13.
  • 1) не работает удаление кнопок (8-я функция, 31-й бит в EDX)
    В принципе я его писал... это, правда, не гарантирует работы написанного кода... Кстати, хочу обратить внимание, что в Колибри при удалении кнопки не происходит удаления её изображения (по понятным причинам).
    Почитал исходники ядра... обнаружил, что функция 8 удаляет все кнопки с заданным идентификатором, а KlbrInWin - только первую найденную... надеюсь, не это имеется в виду?
    2) при поиске нажатой кнопки они перебираюся в прямом порядке (в порядке их создания), а нужно вроде бы в обратном (хотя я и не уверен).
    Насколько я понимаю, цикл в checkbuttons идёт в прямом порядке (с переменной цикла esi) и ищется первое попавшее вхождение.
    И ещё предложение от Victor'а - добавить в эмулятор функцию 18.13.
    С какой версией ядра? С каким идентификатором системы (UID_KOLIBRI или предложенный Victor'ом UID_KlbrInWin)?
    Ушёл к умным, знающим и культурным людям.
  • Идентификатор - UID_KlbrInWin (хотя я несколько другой предлагал, но этот получше :))
    Версия - ревизия эмулятора, ревизия ядра, которое эмулятор полностью реализует..
  • Имеется в виду именно то, что кнопки не удаляются. Можешь глянуть сам: для преключения между табами в Tinypad'е используются кнопки, и при переключении на какой-либо таб все кнопки удаляются и создаются заново так, чтобы на активном табе кнопки не было. Плюс, кнопки пересоздаются при скроллинге табов влево/вправо. Про второй пункт я был неуверен, но считаю моё описание более правильным с функциональной точки зрения. То есть, даже в Windows когда кнопки создаются одна за другой и перекрывают друг друга, сверху оказывается кнопка, созданная позже остальных. И, соотвественно, когда я нажимаю мышью клавишу в области пересечения кнопок, опять же нажимается именно та, которая была создана позже.

    EDIT: забыл про ещё пару багов :) 1) высота кэпшна в эмуляторе фиксированная, в то время как для скиновых окон она указывается в .skn файле; 2) если максимизмровать окно, перевести фокус на другое окно и потом щёлкнуть на окне эмулятора по рамке или кэпшну (по неклиентской области) - оно не активизируется.

    EDIT: кстати, иногда бывает, что эмулятор вылетает и после этого не запускается, выдавая сообщение о том, что драйвер не может быть загружен... помогает перезагрузка венды. что-нибудь об этом известно, или только у меня такое?
  • EDIT: кстати, иногда бывает, что эмулятор вылетает и после этого не запускается, выдавая сообщение о том, что драйвер не может быть загружен... помогает перезагрузка венды. что-нибудь об этом известно, или только у меня такое?
    У меня тоже один раз такое было, но не помню точно, при каких условиях
  • Who is online

    Users browsing this forum: No registered users and 3 guests