Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Oct 18, 2019 11:57 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 400 posts ]  Go to page Previous 122 23 24 25 26 27 Next
Author Message
PostPosted: Fri Nov 11, 2016 12:26 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
0CodErr
Что исправлять? Поломались RunOD, GenFiles, fNav... странно, все от одного автора, наверно совпадение...
Из-за сжатия, пустые байты на размер не влияют. Если уж на то пошло, в RunOD я сэкономил байт 160. А потом ты внезапно предлагаешь просто взять и вкомпилировать код EitBox-а в само приложение - это уже взаимоисключающие параграфы.
Я думаю, администрация с удовольствием облила бы говном архитектуру boxlib, а в остальном, администрация молчит - администрация не против.


Top
   
PostPosted: Fri Nov 11, 2016 12:37 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin, ты дурачка решил включить что ли?
Поломались все использующие editbox. Просто те, что находятся в сборке, обновляются со следующей ревизией вместе с BoxLib.

За последнее время уже не первый раз ломается обратная совместимость странно, все от одного автора, наверно совпадение

Quote:
Из-за сжатия, пустые байты на размер не влияют.
А чего же ты тогда переживаешь из-за этого?
Quote:
Экономия 12 байт в структуре стоит дополнительных 32 байта в коде


Quote:
А потом ты внезапно предлагаешь просто взять и вкомпилировать код EitBox-а в само приложение - это уже взаимоисключающие параграфы.
Не, я тебе ничего не предлагаю. Это сделаю я у себя, чтобы поменьше зависеть от необдуманных действий всякой школоты.


Top
   
PostPosted: Fri Nov 11, 2016 1:00 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
0CodErr, ты дурачка решил включить что ли?
Назови не свою программу, которая поломалась.
Назови конкретно, где поломалась обратная совместимость.
Действительно, почему я должен переживать из-за того, что школота не умеет использовать макросы... и вообще include. Я твою программу молча починил и оптимизировал, вот и ты делай что хочешь: чини что хочешь, жалуйся администрации - твоё дело.


Top
   
PostPosted: Fri Nov 11, 2016 1:11 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
Назови не свою программу
Решил на личности перейти?
А я тебе ещё раз скажу
Quote:
Поломались все использующие editbox. Просто те, что находятся в сборке, обновляются со следующей ревизией вместе с BoxLib.

Quote:
Я твою программу молча починил
Чинить надо было BoxLib. Ты только время потратил.


Top
   
PostPosted: Fri Nov 11, 2016 2:05 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5062
Ребят. Не разводите холивар и не нужно дрочить на байты, рабочие программы важнее.

Pathoswithin
Старайся не ломать обратную совместимость всегда тогда, когда это возможно.
Реально не все юзают макрос, есть программы и на других языках программирования.

0CodErr
Программирование штука такая, что иногда обновление может что-то и заломать. Пожалуйста, просто обнови свои программы.

_________________
Через тернии к звездам


Top
   
PostPosted: Fri Nov 11, 2016 2:29 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Leency, я всего лишь предлагаю изменить в структуре editbox приватные поля, используемые только самим editbox-ом, а не приложением
Quote:
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:
.cl_curs_x  dw  0
.cl_curs_y  dw  0
.shift      dw  0
.shift_old  dw  0

чтобы размер структуры оставался как и прежде
Code:
ed_struc_size=76
а не 84. Потому что сейчас код пишет в новые поля
Code:
.height dd 0
.char_width dd 0
и затирает данные. Другой вариант решения, это не использовать эти поля, если не установлен флаг. Но, как я думаю, первый вариант всё же лучше.


Top
   
PostPosted: Fri Nov 11, 2016 3:52 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Pathoswithin wrote:
0CodErr
Что исправлять? Поломались RunOD, GenFiles, fNav... странно, все от одного автора, наверно совпадение...
Из-за сжатия, пустые байты на размер не влияют. Если уж на то пошло, в RunOD я сэкономил байт 160. А потом ты внезапно предлагаешь просто взять и вкомпилировать код EitBox-а в само приложение - это уже взаимоисключающие параграфы.
Я думаю, администрация с удовольствием облила бы говном архитектуру boxlib, а в остальном, администрация молчит - администрация не против.

Администрация, во-первых, культурная, а во-вторых, считает, что разглагольствования на форуме ничему не помогут. По существу - API у box_lib сделано неправильно, "структура" с данными компонента должна иметь размер 4 байта и содержать один указатель. В крайнем случае можно ещё включить поля, смысл которых железобетонно меняться не будет и которые полезны использующему коду, вроде координат в окне. Указатель на данные должна выделять сама box_lib, которая знает, что ей нужно. А так, как сделано, - совместимость обречена периодически ломаться.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Fri Nov 11, 2016 10:52 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
В принципе, и сейчас можно добавить функцию CreateEditbox, которая будет делать инициализацию и возвращать указатель на структуру, только существующим программам это не поможет. Меня больше всего удивляет экспортируемый параметр "версия" - какой от него толк? Вместо него можно было экспортировать размер структуры, это обеспечило бы совместимость для неассемблерных программ.


Top
   
PostPosted: Fri Nov 11, 2016 11:52 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
/me предлагает жить дружно, но по законам программирования для каждого языка

Идеальных решений пока не изобрели, языков тоже


Top
   
PostPosted: Thu Sep 07, 2017 1:43 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Предлагаю добавить для EditBox ещё одну функцию, по сути аналогичную edit_box_key
Чтобы не приходилось так извращаться:
http://websvn.kolibrios.org/filedetails ... 7#line-108


Top
   
PostPosted: Fri Sep 08, 2017 11:27 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
#6965
Я немного улучшил в EditBox работу ctrl+C\ctrl+V.
Надо это потестировать.
Между EditBox-ами работает как задумано.
Но при вставке из TinyPad или TextEdit текущая длина EditBox(ed_size) почему-то становится на один больше.
Но вроде это не критично.


Top
   
PostPosted: Fri Sep 08, 2017 2:33 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Заметил такой баг:
    пишем в EditBox "012345"
    выделяем "12"
    нажимаем End
    нажимаем пробел
Проверял также предыдущую ревизию #6959.
Значит, баг был там давно.


Top
   
PostPosted: Fri Sep 08, 2017 10:15 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Есть одно из направлений по улучшению кода box_lib. Дело в том что изначально было 3 файла с макросами для элементов: editbox, checkbox и optionbox, код которых включался в исполняемый файл. Потом из них создали библиотеку box_lib. Подразумевалось что можно использовать эти файлы как отдельные макросы и все целиком в виде библиотеки. Но со временем код много раз менялся и стало невозможным использовать эти макросы отдельно от библиотеки box_lib. А вот файлы макросов остались и новые элементы (подключаемые к библиотеке) по инерции писались в виде макросов.
Это выглядит не красиво и захламляет код, логичнее было-бы сделать коды элементов в файлах *.asm, и если элемент нужен в библиотеке просто делаем include для файла. Если не нужен элемент то не делаем include. А писать в коде кучу макросов вида: use_элемент_n-й_мышь, use_элемент_n-й_клавиатура, use_элемент_n-й_рисование и делать подключение файла с макросом *.mac не хорошо. Я когда-то исправил некоторые файлы а остальные остались не доделанными.


Top
   
PostPosted: Sat Sep 09, 2017 6:28 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
#6968
Добавил обработку Ctrl+X в EditBox.


Top
   
PostPosted: Sun Sep 10, 2017 2:06 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5062
0CodErr wrote:
#6968
Добавил обработку Ctrl+X в EditBox.

Это круто и большой лайк.

_________________
Через тернии к звездам


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 400 posts ]  Go to page Previous 122 23 24 25 26 27 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited