|
24.02.2009, 14:33
|
#1
|
ПроЭктировщик
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений (для 14 пользователей)
|
Похоже, есть баги в либе Lib_jsr75i
В процессе работы с Lib_jsr75i я обнаружил следующие баги и недоработки.
1. В описании библиотеки есть следующая информация:
public static InputStream get_stream() - открыть файл как ресурс. доступны все операции с ресурсом
Реально данная функция отсутствует.
2. При повторном обращении к файлу библиотека зависает.
Я делаю так:
k:=file_size(full_filename);
res:=open_file(full_filename);
// возвращает res=1
while(...) do
begin
...
s:=s+Chr(read_uns_byte);
...
end;
res:=close_file(full_filename);
// возвращает res=1
При первом вызове данный код срабатывает без проблем. При повторном вызове файл открывается нормально, но при попытке прочитать байт - намертво виснет.
Коллеги, хотелось бы услышать ваше мнение по данным вопросам. Может быть, это я что-то неправильно делаю?
|
(Offline)
|
|
30.07.2009, 21:25
|
#2
|
Нуждающийся
Регистрация: 30.07.2009
Сообщений: 61
Написано одно полезное сообщение
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Реально либа бажная. И open_file тупит и read_line_a... Короч, полный абзац. Мой сонерик K800i просто выкидывает из мидлета без предупреждения.
|
(Offline)
|
|
31.07.2009, 02:58
|
#3
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Сообщение от Трава
Реально либа бажная. И open_file тупит и read_line_a... Короч, полный абзац. Мой сонерик K800i просто выкидывает из мидлета без предупреждения.
|
Либа рабочая, возможно проблема в телефоне или в неправильном использовании.
|
(Offline)
|
|
05.08.2009, 18:52
|
#4
|
Нуждающийся
Регистрация: 30.07.2009
Сообщений: 61
Написано одно полезное сообщение
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Может быть... Но я всё делаю как в мануале написано! Вот пытался файл создать с использованием либы
program test;
uses jsr75i;
begin
jsr75i.file_create('e/test.txt');
drawText('Done', 0, 0);
repaint;
delay(3000);
end.
Не создаёт. Причём мобила просит разрешение на чтение\запись, тыкаю "да", а он мне фак в итоге. Прога нормально заканчивает работу, но файл не создаёться. Помоги если можешь, плз. Хочу прост hex-редактор написать
|
(Offline)
|
|
06.08.2009, 15:55
|
#5
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Многое зависит от того, какой телефон, у разных трубок путь задается по разному. Также, нектороые телефоны не дают возможности записывать файлы в корень диска.
Поставь на телефон MiniCommander, и посмотри, как там выводятся пути и может ли он создавать файлы в нужном месте.
|
(Offline)
|
|
07.08.2009, 16:06
|
#6
|
Нуждающийся
Регистрация: 30.07.2009
Сообщений: 61
Написано одно полезное сообщение
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Файлы создаються. И файлы и папки. Пасиб. Терь разобрался. Они на K800i так записываються - /e:/file.txt к примеру. Т. е. сначала слэш надо ставить и двоеточие после диска.
|
(Offline)
|
|
25.10.2009, 17:25
|
#7
|
AnyKey`щик
Регистрация: 24.10.2009
Сообщений: 8
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Чегото у меня вылетает при компиляции с либой jsr75i?(Версия 2.0.2)
|
(Offline)
|
|
10.03.2010, 12:41
|
#8
|
Оператор ЭВМ
Регистрация: 24.02.2010
Сообщений: 29
Написано одно полезное сообщение
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Вот у меня не работает skip и reset. Причем первыый вызов skip отрабатывает, а следующие не отрабатывают. Reset вообще не пашет. Не на эмуле не в телефоне. Нужно открыть файлище около 200 мегабайт и читать из него по разным смещениям N-ое кол-во байт в строку например. Нужна помощь.
|
(Offline)
|
|
22.01.2013, 00:23
|
#9
|
AnyKey`щик
Регистрация: 22.01.2013
Сообщений: 1
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Дражайшие форумчане! Решил я поковырять и поискать баги в jsr75i (исходники), ибо пишу одну банально полезнейшую утилитку для nokia s40. Конкретно для этого случая мне понадобилась самописная функция (объединяющая open_file, read_bytes и close_file, иными словами, одноразовое чтение из файла по смещению определённого количества байт и его закрытие), и вот на что я напоролся в процессе экспериментов (в яве разбирался по ходу):
во всех наших skip и reset действо осуществляется через try и проверку ненулёвости 'dis' (DataInputStream), который скорее всего не обнуляется в случае закрытия файла. В итоге работспособный код выглядит:
public static String read_buffer(String name, int off, int len) {
StringBuffer s = new StringBuffer();
try {
fc = (FileConnection) Connector.open("file://"+name);
byte[] d = new byte[len];
// if(dis==null)
dis = fc.openDataInputStream();
dis.read(d, off, len);
for(int i=0;i<len;i++){
byte b= d[i];
s.append((char)b);
}
// if(dis!=null)
dis.close();
fc.close();
} catch(Exception e) {return "";}
return s.toString();
}
Как-то так... Быть может, суть где-то рядом, и оно поможет в доработке либы.
|
(Offline)
|
|
06.03.2013, 19:46
|
#10
|
Оператор ЭВМ
Регистрация: 06.02.2012
Адрес: Equestria
Сообщений: 43
Написано 7 полезных сообщений (для 10 пользователей)
|
Ответ: Похоже, есть баги в либе Lib_jsr75i
Исправил баг из за которого сохранение или загрузка файла работала только один раз. Проверил на SE k530i, всё работает.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:41.
|