Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 10.01.2007, 08:30   #16
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Is MIDlet Paused :dontknow: ?

А для простого Сименса не прокатит значит?
Может на Java можно какую-то библиотечку слепить для этого?
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 12:05   #17
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Ооооочень сомневюсь, что такое возможно...

Я еще ни один Сименс, кроме SX1, не видел, чтобы держал мидлеті в фоновом режиме...
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 12:54   #18
EVIL_USER
ПроЭктировщик
 
Регистрация: 13.11.2006
Сообщений: 101
Написано 6 полезных сообщений
(для 6 пользователей)
Re: Is MIDlet Paused :dontknow: ?

имеется под симёны патчик интересный.
### называется
после установки из любого места открывает главное меню по нажотию 3-х решоток.
Жава в этом случае остаётся работать в фоне, но это не то, что нам нужно.
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 15:31   #19
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Is MIDlet Paused :dontknow: ?

По моему в данном случае мидлет уйдет в глухую остановку и не будет работать резидентом...
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 16:15   #20
EVIL_USER
ПроЭктировщик
 
Регистрация: 13.11.2006
Сообщений: 101
Написано 6 полезных сообщений
(для 6 пользователей)
Re: Is MIDlet Paused :dontknow: ?

В случае с патчем ### прога продолжает нормально работать, проверено многими людьми, плеер не перестаёт играть.
Нельзя только запускать другие жава проги, включая зашитые в прошивку (калькулятор, секундомер), а то или свёрнутая вылетит, или вся труба вырубится...
(Offline)
 
Ответить с цитированием
Старый 11.01.2007, 09:48   #21
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Люди! Неужели никто так и не удосужился проверить, как функция IsMidletPaused работает?!
program PauseTest;
var
 InPause, OutPause : integer;
 
begin
 InPause := 0;
 OutPause := 0;
 repeat
  SetColor(255,255,255);
  FillRect(0,0,GetWidth,GetHeight);
  SetColor(0,0,0);
  if IsMidletPaused 
   then InPause := InPause + 1
   else OutPause := OutPause + 1;
  DrawText('In  = '+InPause,10,10);
  DrawText('Out = '+OutPause,10,30);
  repaint;
  delay(1000);
 until GetKeyPressed <> KE_NONE;
end.
Откомпилируйте и проверьте! Код по-моему очевиден.

Для особо ленивых (которых, судя по всему, тут большинство) и теоретиков (которых тоже, видно, немало) сообщаю результат для Siemens C75 (не самый крутой смартфон , как понимаете): Во время разговора мидлет работает!!!!!!!!!!!
(Offline)
 
Ответить с цитированием
Старый 11.01.2007, 19:26   #22
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Да на Сименсе вобще эльфы есть. Они делают всё что угодно: от многозадачности до не тормозящего Дэндевского эмулятора.

2 ARV: По твоему коду всё сработало, а у меня не почему-то пашет, короче буду ещё разбираться...
(Offline)
 
Ответить с цитированием
Старый 11.01.2007, 20:22   #23
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Я читал-читал J2ME SDK documentation и нигде не обнаружил упоминания, что в "приостановленном" режиме мидлет "заморожен". Похоже, дело обстоит так:
1. мидлет стартует - вызывается метод StartApp(), который устанавливает свой обработчик команд CommandListener, инициализирует переменные и т.п. (занимает ресурсы, одним словом), а затем вызывается метод run(). Завершение этого метода - конец работы мидлета (я не рассматриваю его).
2. поступает звонок - вызывается метод PauseApp() - паскаль в этом методе просто устанавливает значение переменной МР=-1. А в доке написано, что "мидлет должен освободить занятые ресурсы и т.п." Так вот, никакого освобождения не происходит в паскале! Наверное, если бы это делалось, надо было бы освободить CommandListener, т.е. как я понимаю, отключиться от очереди событий - тогда мидлет действительно перестал бы работать.
3. После того, как метод PauseApp() отработал - нет никаких сведений, что метод run() каким-то образом остановлен - он продолжает крутиться - это подтверждает приведенный мною ранее пример кода.
4. Когда разговор завершен - вызывается метод StartApp() - тот самый, что и при запуске мидлета - паскаль проверяет, создан ли уже экземпляр мидлета (конечно, это ведь не первый запуск) - и сбрасывает переменную МР в 0 (эта переменная и есть результат функции IsMidletPaused).
Если кто найдет какие-то упоминания в J2ME SDK о том, что я не прав - пусть меня поправит. А тот факт, что не на всех телефонах мидлеты так себя ведут, я могу объяснить двумя причинами: либо недостаточно качественное тестирование проблемы на других телефонных платформах, либо кривая реализация ява-машины. Последнее косвенно подтверждается качеством программных эмуляторов телефонов - у сименсов они на высоте, а например у самсунга - вообще левые какие-то .
Будут другие мнения?
P.S. Было бы интересно узнать о результатах работы приведенного мнюю кода на разных телефонах - надо же понимать, как работают наши программы!
(Offline)
 
Ответить с цитированием
Старый 12.01.2007, 11:46   #24
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Сообщение от ARV
Люди! Неужели никто так и не удосужился проверить, как функция IsMidletPaused работает?!
program PauseTest;
var
 InPause, OutPause : integer;
 
begin
 InPause := 0;
 OutPause := 0;
 repeat
  SetColor(255,255,255);
  FillRect(0,0,GetWidth,GetHeight);
  SetColor(0,0,0);
  if IsMidletPaused 
   then InPause := InPause + 1
   else OutPause := OutPause + 1;
  DrawText('In  = '+InPause,10,10);
  DrawText('Out = '+OutPause,10,30);
  repaint;
  delay(1000);
 until GetKeyPressed <> KE_NONE;
end.
Откомпилируйте и проверьте! Код по-моему очевиден.

Для особо ленивых (которых, судя по всему, тут большинство) и теоретиков (которых тоже, видно, немало) сообщаю результат для Siemens C75 (не самый крутой смартфон , как понимаете): Во время разговора мидлет работает!!!!!!!!!!!
МММ... У меня на CX75 результата не дал...
(Offline)
 
Ответить с цитированием
Старый 12.01.2007, 12:06   #25
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Сообщение от IVenoMI
МММ... У меня на CX75 результата не дал...
А какой результат был? Что было на дисплее после звонка? Неужели In = 0 ?
(Offline)
 
Ответить с цитированием
Старый 12.01.2007, 12:09   #26
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Угу.. Именно так... Звонил себе до посинения...
(Offline)
 
Ответить с цитированием
Старый 12.01.2007, 16:28   #27
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Is MIDlet Paused :dontknow: ?

Сегодня с большим удивлением обнаружил, что мой код всё таки работает. Просто он работает наверное только во время разговора, а во время звучания звонка - стоит. Это единственный вывод, объясняющий мои на блюдения и тесты участников форума (у меня кстати тоже СХ75)

2 ARV:
Случайно не знаешь как засунуть в J2me_wtk библиотеки от Сименса? И как их вытащить из Эмулятора?
(Offline)
 
Ответить с цитированием
Старый 13.01.2007, 11:26   #28
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Re: Is MIDlet Paused :dontknow: ?

На счет звонка - я тоже пришел к выводу, что пока трубка не снята - IsMidletPaused = false (может, мидлет и остановлен - это не проверить), и только после начала разговора ему сообщается о паузе.
А вот на счет библиотек - не понял, какие именно библиотеки, откуда вытаскивать, куда вставлять и главное - зачем? Поясни.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Midlet Pascal 3.0 (ALPHA) GRAY_WOLF Разработка MIDlet Pascal 57 02.01.2011 18:19
FAQ по Midlet Pascal 3.0 (ALPHA) Jadson FAQ 2 07.12.2009 12:58
Электронный журнал про MIDlet Pascal odd Прочие вопросы 14 26.10.2009 03:25
Brainfuck to Midlet Pascal anton_obuhov Основной форум 3 31.03.2009 13:09
Midlet Pascal и Bluetooth rancid Основной форум 12 24.09.2006 12:15


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com