Page 4 of 4

Re: Вопросы по разработке

Posted: Sun Sep 04, 2011 3:38 pm
by SII
maximYCH wrote:Больше чем 48*48 в системе нигде не используется, следовательно, этого хватит
Отнюдь не следует. Может, мне захочется 128*128.
maximYCH wrote:Иконка является неотъемлемой частью программы
Не является. Неотъемлемая часть -- это то, без чего программа в принципе не может работать.
maximYCH wrote:Нет риска, что пользователь удалит иконку, сделав, к примеру, файловые менеджеры, её использующие не работоспособными)
Такие программы надо выбрасывать на свалку, а их авторам -- отрывать руки и не только руки. При отсутствии иконки программа просто должна оставлять соответствующее место пустым или заполнять чем-то стандартным ("чёрный квадрат им. Малевича"), а не падать, поскольку с технической точки зрения работать можно и без иконок.

Другое дело, что включение иконок в состав программы должно быть допустимым, причём единообразным для любых программ и не требующим каждый раз изобретать велосипед. Т.е. должна существовать некая библиотека, в которой реализован весь нужный функционал. Ну а использовать её или нет, размещать иконки внутри исполняемого файла программы или же оставлять снаружи -- это дело автора программы.

Кстати говоря, секция атрибутов позволит в неё и иконки включать, и обеспечить единообразную работу с ними...

Re: Вопросы по разработке

Posted: Sun Sep 04, 2011 3:45 pm
by s1n
Если тебе отрезать ногу, то никто из других участников этого проекта этого не заметят с точки зрения твоего нахождения тут.
з.ы. Иконки не нужны. Версия тоже не нужна.
Узнавать версию программы можно по md5-хешам.

Re: Вопросы по разработке

Posted: Sun Sep 04, 2011 3:50 pm
by SII
s1n wrote:Узнавать версию программы можно по md5-хешам.
Неэффективно, ненадёжно, нет возможности однозначной интерпретации результатов для любых программ. В общем, такой способ не годится однозначно.

А версия, как и иконки -- вещь полезная. Другое дело, что реализовывать надо всё обдумавши, а не как попало и не любой ценой.

Re: Вопросы по разработке

Posted: Sun Sep 04, 2011 3:58 pm
by maximYCH
s1n wrote:з.ы. Иконки не нужны. Версия тоже не нужна.
Ты забыл добавить слово "мне".
SII wrote:Кстати говоря, секция атрибутов позволит в неё и иконки включать, и обеспечить единообразную работу с ними...
Как я понимаю, в Windows используется схожий подход?

Только вот, насколько я понимаю, у нас формат исполняемых файлов не COFF и не ELF. Ядерщики, я правильно помню этот момент? Проблема.

Re: Вопросы по разработке

Posted: Sun Sep 04, 2011 4:05 pm
by SII
maximYCH wrote:Как я понимаю, в Windows используется схожий подход?
В детали не вникал (нужды как-то не было), но, в общем-то, да. Таким же образом (в виде специальной секции) можно хранить отладочную информацию (вроде так ГНУсные инструменты поступают) и вообще что угодно. Что удобно, при удалении таких секций работоспособность программы сохраняется (если она нормально написана и не "закладывается" на их обязательное присутствие, конечно, но это уже относится к кривизне рук программиста).
Только вот, насколько я понимаю, у нас формат исполняемых файлов не COFF и не ELF. Ядерщики, я правильно помню этот момент? Проблема.
Если КОСовский формат не поддерживает подобные вещи, то лучше идею пока отложить, а в будущем просто реализовать поддержку системой подходящего формата. Но это уже существенная доработка системы, с наскоку её не сделать (во всяком случае, так, чтоб при этом ничего не развалилось вообще).

Re: Вопросы по разработке

Posted: Sun Sep 04, 2011 4:41 pm
by Gluk
в моих программах (имеющихся мало, но будущих должно быть больше) растровых иконок внутри исполнимого файла не будет, даже если для этого придётся соответствующим образом менять лицензию

хранить же версию программы - идея нормальная, но тогда надо хранить и идентификатор программы. Иначе, переименовав eolite в kfar, получу последний с версией первого, по мнению всяких шибко умных программ-обновлятелей.

Напр.: FM_KFAR, FM_EOLITE, VW_ZSEA, UTIL_MOUSEMUL.

А вот ежели идентификаторы ввести, иконки могут именоваться ими: FM_KFAR.128.png, лёжа в директории /sys/theme/, например

Архив с такими иконками и скином было бы здоровско использовать как темы.

Re: Вопросы по разработке

Posted: Fri Sep 16, 2011 2:39 pm
by Leency
Решил поправить залипание клавиш в RTF read. Выдаёт странную ошибку, вообще не оттуда.

Re: Вопросы по разработке

Posted: Fri Sep 16, 2011 2:42 pm
by Leency
Это фикс против залипания клавиш, может его внести на ядерном уровне, если это возможно?

Re: Вопросы по разработке

Posted: Fri Sep 16, 2011 2:43 pm
by SoUrcerer
Так компилер ругается на 439ю строку вообще. Уверен, что определение key.file_open никуда не потерялось? Попробую присоединить lang.inc, потому что этот самый key.file_open может определяться через условные блоки, связанные с lang.inc.

...Залипание клавиш?

Re: Вопросы по разработке

Posted: Fri Sep 16, 2011 2:44 pm
by Mario
Leency
Ну так надо понимать разницу между глобальными и локальными метками и не нарушать.
Локальные метки располагаются между двумя глобальными и начинаются с точки "."

Re: Вопросы по разработке

Posted: Fri Sep 16, 2011 3:01 pm
by Leency
Ситуацию правка не исавила, но затоя узнал, что есть локальные и глобальные метки в асме. Mario, спасибо.

>...Залипание клавиш?
Поиграй в квейк :)
Раньше это была болезнь Тетриса, Косилки и других программ. Нажимаешь вниз допустим в Косилке, а она едет вниз даже ещё какое-то время после отпускания клавиши.
Так же и ртфридер - мотает вниз даже после того, как уже отпустил клавишу.

Re: Вопросы по разработке

Posted: Fri Sep 16, 2011 3:08 pm
by Mario
Если кто не заметил, то в zSea залипания нет. В свое время мы сильно разошлись в этом в споре с Diamond'ом, но я сделал таки "вычерпывание" лишних нажатых клавиш из буфера, перед собственно самим действием. В результате эффект залипания проявляется разве что уж на очень слабых машинах при очень больших картинках.

Re: Вопросы по разработке

Posted: Fri Sep 16, 2011 3:11 pm
by Mario
Leency wrote:Ситуацию правка не исавила, но затоя узнал, что есть локальные и глобальные метки в асме.
Не знаю как в ЯВУ, но в ассемблере как раз по локальной метке можно переходить из любой части программы, главное перед этим написать базовую глобальную метку. В твоем сообщении об ошибке как раз сообщается, что пропала локальная метка, поскольку ты до нее разместил новые глобальные.