0CodErr
Что исправлять? Поломались RunOD, GenFiles, fNav... странно, все от одного автора, наверно совпадение...
Из-за сжатия, пустые байты на размер не влияют. Если уж на то пошло, в RunOD я сэкономил байт 160. А потом ты внезапно предлагаешь просто взять и вкомпилировать код EitBox-а в само приложение - это уже взаимоисключающие параграфы.
Я думаю, администрация с удовольствием облила бы говном архитектуру boxlib, а в остальном, администрация молчит - администрация не против.
box_lib.obj - библиотека gui компонентов
Pathoswithin, ты дурачка решил включить что ли?
Поломались все использующие editbox. Просто те, что находятся в сборке, обновляются со следующей ревизией вместе с BoxLib.
За последнее время уже не первый раз ломается обратная совместимость странно, все от одного автора, наверно совпадение
Поломались все использующие editbox. Просто те, что находятся в сборке, обновляются со следующей ревизией вместе с BoxLib.
За последнее время уже не первый раз ломается обратная совместимость странно, все от одного автора, наверно совпадение
А чего же ты тогда переживаешь из-за этого?Из-за сжатия, пустые байты на размер не влияют.
Экономия 12 байт в структуре стоит дополнительных 32 байта в коде
Не, я тебе ничего не предлагаю. Это сделаю я у себя, чтобы поменьше зависеть от необдуманных действий всякой школоты.А потом ты внезапно предлагаешь просто взять и вкомпилировать код EitBox-а в само приложение - это уже взаимоисключающие параграфы.
0CodErr, ты дурачка решил включить что ли?
Назови не свою программу, которая поломалась.
Назови конкретно, где поломалась обратная совместимость.
Действительно, почему я должен переживать из-за того, что школота не умеет использовать макросы... и вообще include. Я твою программу молча починил и оптимизировал, вот и ты делай что хочешь: чини что хочешь, жалуйся администрации - твоё дело.
Назови не свою программу, которая поломалась.
Назови конкретно, где поломалась обратная совместимость.
Действительно, почему я должен переживать из-за того, что школота не умеет использовать макросы... и вообще include. Я твою программу молча починил и оптимизировал, вот и ты делай что хочешь: чини что хочешь, жалуйся администрации - твоё дело.
Решил на личности перейти?Pathoswithin wrote:Назови не свою программу
А я тебе ещё раз скажу
Поломались все использующие editbox. Просто те, что находятся в сборке, обновляются со следующей ревизией вместе с BoxLib.
Чинить надо было BoxLib. Ты только время потратил.Я твою программу молча починил
Ребят. Не разводите холивар и не нужно дрочить на байты, рабочие программы важнее.
Pathoswithin
Старайся не ломать обратную совместимость всегда тогда, когда это возможно.
Реально не все юзают макрос, есть программы и на других языках программирования.
0CodErr
Программирование штука такая, что иногда обновление может что-то и заломать. Пожалуйста, просто обнови свои программы.
Pathoswithin
Старайся не ломать обратную совместимость всегда тогда, когда это возможно.
Реально не все юзают макрос, есть программы и на других языках программирования.
0CodErr
Программирование штука такая, что иногда обновление может что-то и заломать. Пожалуйста, просто обнови свои программы.
Из хаоса в космос
Leency, я всего лишь предлагаю изменить в структуре editbox приватные поля, используемые только самим editbox-ом, а не приложением
чтобы размер структуры оставался как и прежде а не 84. Потому что сейчас код пишет в новые поляи затирает данные. Другой вариант решения, это не использовать эти поля, если не установлен флаг. Но, как я думаю, первый вариант всё же лучше.
наstruc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
{
.width dd width
.left dd left
.top dd top
.color dd color
.shift_color dd shift_color
.focus_border_color dd focus_border_color
.blur_border_color dd blur_border_color
.text_color dd text_color
.max dd max
.text dd text
.mouse_variable dd mouse_variable
.flags dd flags+0
.size dd size+0
.pos dd pos+0
.offset dd 0
.cl_curs_x dd 0
.cl_curs_y dd 0
.shift dd 0
.shift_old dd 0
.height dd 0
.char_width dd 0
}
Code: Select all
.cl_curs_x dw 0
.cl_curs_y dw 0
.shift dw 0
.shift_old dw 0
Code: Select all
ed_struc_size=76
Code: Select all
.height dd 0
.char_width dd 0
Администрация, во-первых, культурная, а во-вторых, считает, что разглагольствования на форуме ничему не помогут. По существу - API у box_lib сделано неправильно, "структура" с данными компонента должна иметь размер 4 байта и содержать один указатель. В крайнем случае можно ещё включить поля, смысл которых железобетонно меняться не будет и которые полезны использующему коду, вроде координат в окне. Указатель на данные должна выделять сама box_lib, которая знает, что ей нужно. А так, как сделано, - совместимость обречена периодически ломаться.Pathoswithin wrote:0CodErr
Что исправлять? Поломались RunOD, GenFiles, fNav... странно, все от одного автора, наверно совпадение...
Из-за сжатия, пустые байты на размер не влияют. Если уж на то пошло, в RunOD я сэкономил байт 160. А потом ты внезапно предлагаешь просто взять и вкомпилировать код EitBox-а в само приложение - это уже взаимоисключающие параграфы.
Я думаю, администрация с удовольствием облила бы говном архитектуру boxlib, а в остальном, администрация молчит - администрация не против.
Сделаем мир лучше!
В принципе, и сейчас можно добавить функцию CreateEditbox, которая будет делать инициализацию и возвращать указатель на структуру, только существующим программам это не поможет. Меня больше всего удивляет экспортируемый параметр "версия" - какой от него толк? Вместо него можно было экспортировать размер структуры, это обеспечило бы совместимость для неассемблерных программ.
/me предлагает жить дружно, но по законам программирования для каждого языка
Идеальных решений пока не изобрели, языков тоже
Идеальных решений пока не изобрели, языков тоже
Предлагаю добавить для EditBox ещё одну функцию, по сути аналогичную edit_box_key
Чтобы не приходилось так извращаться:
http://websvn.kolibrios.org/filedetails ... 7#line-108
Чтобы не приходилось так извращаться:
http://websvn.kolibrios.org/filedetails ... 7#line-108
#6965
Я немного улучшил в EditBox работу ctrl+C\ctrl+V.
Надо это потестировать.
Между EditBox-ами работает как задумано.
Но при вставке из TinyPad или TextEdit текущая длина EditBox(ed_size) почему-то становится на один больше.
Но вроде это не критично.
Я немного улучшил в EditBox работу ctrl+C\ctrl+V.
Надо это потестировать.
Между EditBox-ами работает как задумано.
Но при вставке из TinyPad или TextEdit текущая длина EditBox(ed_size) почему-то становится на один больше.
Но вроде это не критично.
Заметил такой баг:
Значит, баг был там давно.
- пишем в EditBox "012345"
выделяем "12"
нажимаем End
нажимаем пробел
Значит, баг был там давно.
Есть одно из направлений по улучшению кода box_lib. Дело в том что изначально было 3 файла с макросами для элементов: editbox, checkbox и optionbox, код которых включался в исполняемый файл. Потом из них создали библиотеку box_lib. Подразумевалось что можно использовать эти файлы как отдельные макросы и все целиком в виде библиотеки. Но со временем код много раз менялся и стало невозможным использовать эти макросы отдельно от библиотеки box_lib. А вот файлы макросов остались и новые элементы (подключаемые к библиотеке) по инерции писались в виде макросов.
Это выглядит не красиво и захламляет код, логичнее было-бы сделать коды элементов в файлах *.asm, и если элемент нужен в библиотеке просто делаем include для файла. Если не нужен элемент то не делаем include. А писать в коде кучу макросов вида: use_элемент_n-й_мышь, use_элемент_n-й_клавиатура, use_элемент_n-й_рисование и делать подключение файла с макросом *.mac не хорошо. Я когда-то исправил некоторые файлы а остальные остались не доделанными.
Это выглядит не красиво и захламляет код, логичнее было-бы сделать коды элементов в файлах *.asm, и если элемент нужен в библиотеке просто делаем include для файла. Если не нужен элемент то не делаем include. А писать в коде кучу макросов вида: use_элемент_n-й_мышь, use_элемент_n-й_клавиатура, use_элемент_n-й_рисование и делать подключение файла с макросом *.mac не хорошо. Я когда-то исправил некоторые файлы а остальные остались не доделанными.
#6968
Добавил обработку Ctrl+X в EditBox.
Добавил обработку Ctrl+X в EditBox.
Это круто и большой лайк.0CodErr wrote:#6968
Добавил обработку Ctrl+X в EditBox.
Из хаоса в космос
Who is online
Users browsing this forum: No registered users and 2 guests