forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_safeload - безопасная загрузка изображений (http://forum.boolean.name/showthread.php?t=7911)

m1kc. 02.03.2009 19:27

Lib_safeload - безопасная загрузка изображений
 
Вложений: 1
Как известно, в случае возникновения какой-либо нештатной ситуации при загрузке изображения стандартным LoadImage мидлет зависает. Lib_safeload решает эту проблему.

Функция всего одна: safely_load_image, использовать так же, как и LoadImage. В случае, если возникнет нештатная ситуация, функция вернет пустое (незагруженное) изображение и мидлет продолжит работу.

Пример использования:

var im:image;
...
im := safely_load_image('/icon.png');

ViNT 02.03.2009 22:44

Ответ: Lib_safeload - безопасная загрузка изображений
 
Было бы неплохо сделать, чтобы при ошибке загрузки мидлет не просто продолжал работать, а вызвал некоторую процедуру типа M.on_loading_error, т.к. иначе, если изображение не отрисовывается на экране сразу, невозможно будет при отладке понять, что изображение не загрузилось.
К тому же, практичкски любая нештатная ситуация с загрузкой данных из ресурса решается, как правило, на этапе отладки и врядли повторится при работе мидлета.

Skythrone 03.03.2009 00:24

Ответ: Lib_safeload - безопасная загрузка изображений
 
Зато внешнатная ситуация сплошь и рядом случается при попытке закачать изображение по HTTP.
Функция image_from_url частенько зависает.

ViNT 03.03.2009 00:28

Ответ: Lib_safeload - безопасная загрузка изображений
 
Цитата:

Сообщение от Skythrone (Сообщение 99406)
Зато внешнатная ситуация сплошь и рядом случается при попытке закачать изображение по HTTP.
Функция image_from_url частенько зависает.

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

m1kc. 03.03.2009 18:04

Lib_safeload - безопасная загрузка изображений
 
Цитата:

Сообщение от ViNT (Сообщение 99408)
Согласен, данная защита нужна при загрузке из сети и из ФС, но в данном случае речь, на сколько я понял, идет о загрузке из ресурса, и библиотека будет действительно полезна только в том случае, если добавить процедуру-обработчик ошибки, как было сказано выше.

В моих проектах бывают две нештатные ситуации, на которые я и рассчитывал:

1. В целях "облегчения" игры ресурс удален из архива. Нехорошо, но играть можно.

2. Изображение повреждено.

Насчет обработки ошибок/загрузки из ФС и HTTP - может быть, сделаю, но позже.

m1kc. 06.03.2009 22:08

Lib_safeload - безопасная загрузка изображений
 
Вложений: 1
Обновил. Добавлена загрузка из ФС (JSR-75).

Пример:

var im:image;
...
im:=safely_load_image_fs('/c:/pictures/a.png');

ViNT 07.03.2009 00:02

Ответ: Lib_safeload - безопасная загрузка изображений
 
Совет на будущее: крайне желательно снабжать архив с библиотекой по меньшей мере текстовым описанием, еще лучше, если вдобавок будет пример проекта на MP (с удаленными бинарниками), совсем хорошо, если будет исходник(т.к. не все и не всегда внятно декомпилится, а понять, почему происходит ошибка иногда можно только зная, как именно работает библиотека).(Более подробно написано в правилах).

KAK? TAK! 20.05.2009 13:17

Ответ: Lib_safeload - безопасная загрузка изображений
 
m1kc, респект крутая либа у меня в проекте не робила игра на теле нашёл твою либу сделал и всё ок!!!!!!!!!респект :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :ok: :ok: :ok: :ok:

liery 01.06.2009 05:46

Ответ: Lib_safeload - безопасная загрузка изображений
 
нужная либа одну иру переделал - у меня с это либой игра теперь
работает
--------------------------------------------------
Моя подпись:
Матвей


Часовой пояс GMT +4, время: 01:50.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot