Page 18 of 77

Re: Помогите новичку

Posted: Sat Apr 02, 2011 11:40 pm
by Asper
А там реализован подобный метод?

Re: Помогите новичку

Posted: Sat Apr 02, 2011 11:44 pm
by Gluk
Asper, все, что касается падения, не имеет отличий в любом многопоточном приложении. При падении одного потока другие не падают. В отличие от ситуации, когда один поток выполняет функции взятые откуда-то извне. Или я что-то не понимаю в -апельсинах- библиотеках, и там не вызывающий поток выполняет левый код?

Re: Помогите новичку

Posted: Sat Apr 02, 2011 11:55 pm
by Asper
В таком случае кто тебе мешает создавать потоки под библиотечный код?

Re: Помогите новичку

Posted: Sun Apr 03, 2011 12:00 am
by Gluk
библиотечный код тогда должен быть реентерабелен, без своей области памяти, иначе мы возвращаемся к тому, от чего хотели уйти

Re: Помогите новичку

Posted: Sun Apr 03, 2011 12:03 am
by Asper
box_lib и тот сделали реентерабельным, так в чём проблема?

Re: Помогите новичку

Posted: Sun Apr 03, 2011 12:26 am
by Gluk
писать реентерабельное приложение (библиотеку), на мой взгляд, сложнее, чем добавлять смещение к адресам в памяти.

Re: Помогите новичку

Posted: Sun Apr 03, 2011 12:30 am
by Asper
Хозяин-барин. Моё дело предложить...

Re: Помогите новичку

Posted: Sun Apr 03, 2011 12:36 am
by Gluk
в общем, пойду почитаю про расшаренную память, ведь в варианте с отдельными процессами такая проблема не стоит. Более того, в таком случае некий процесс может выполнять роль виджета как неосновную - например, mousemul рисовать свою включенность/выключенность, раз уж все равно постоянно висит в памяти. Ну это я для примера привел, вообще так любой демон сможет поступать, дергать его конечно может панель периодически, но отвлечется он от дел насущных только если сам соблаговолит - отдельному процессу никто не указ, окромя, само собой, ядра.

Re: Помогите новичку

Posted: Sun Apr 03, 2011 12:38 pm
by Gluk
к тому же, например, виджет - торрент-качалка должен быть активен постоянно. Это невозможно при реализации с помощью DLL

еще вопрос.. для использования SysFn68.22 требуется выполнить SysFn68.11? Вроде это не указано, но мало ли..

Помогите новичку

Posted: Sun Apr 03, 2011 1:33 pm
by ChE
Здравствуйте! Вопрос: можно ли с помощью существующих библиотек для колибри получить из png файла 32-битное изображение (с альфа-каналом)? Если да, расскажите как это сделать или дайте ссылку, если это где-то уже описано.

Re: Помогите новичку

Posted: Sun Apr 03, 2011 3:27 pm
by dunkaist
ChE,
libimg это умеет. Набросал небольшой пример (вырезал лишнее из programs/develop/libraries/libs-dev/.test/002/test002.asm). Это только демонстрация возможности, а не учебный код, и тем более не образец.

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

; за подробностями можно придти в #kolibrios на irc.freenode.net

Re: Помогите новичку

Posted: Sun Apr 03, 2011 3:34 pm
by ChE
dunkaist, большое спасибо! Вывод я думаю сделаю сам. :)

Re: Помогите новичку

Posted: Sun Apr 03, 2011 6:50 pm
by Gluk
а где я могу посмотреть коды ошибок ФС? поиск в вики и на форуме результатов не дал

Re: Помогите новичку

Posted: Sun Apr 03, 2011 6:57 pm
by dunkaist
Gluk wrote:а где я могу посмотреть коды ошибок ФС? поиск в вики и на форуме результатов не дал
http://redmine.kolibrios.org/projects/k ... .txt#L4509

Re: Помогите новичку

Posted: Sun Apr 03, 2011 7:25 pm
by Gluk
спасибо!