forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   что с МР? оО (http://forum.boolean.name/showthread.php?t=7312)

beZ_probleM 11.11.2008 19:31

что с МР? оО
 
Люди у меня такая проблема
КОмпилю проект в английской версии програмы : компилит, запускаетсо в эмуляторе и пустой белый екран(хоть пару дней назад фсё норм работало)
КОмпилю проект в рУССКОЙ версии : иногда нормально , но фсёравно белый екран, а иногда выбивает ошыбку какуюто РАНТАЙМ ЕРРОР и бла бла бла :crazy:
в МР нету ограничений на количество кода?...
ШО ет за ошыбка??? блин ничего сделать не могу...

ViNT 11.11.2008 21:13

Ответ: что с МР? оО
 
Вообще-то ограничение на размер кода есть, как-то поднимали эту тему, но не помню - толи это для некоторых мобил, толи именно для эмулятора.(Кстати, какой эмулятор используется?) Если есть возможность - советую запустить на моторе с подключенным MIDWay - там по сообщениям отладчика можно в 90% случаев понять, в чем дело. А вообще, что именно за RuntimeError?

beZ_probleM 11.11.2008 23:31

Ответ: что с МР? оО
 
Вложений: 1
Цитата:

оветую запустить на моторе с подключенным MIDWay
ето шо такое? и где его взять можно=)?

у меня Kwyshell емулятор
вот такое пишет при компиляции :

ViNT 11.11.2008 23:35

Ответ: что с МР? оО
 
Да, похоже переполнение, была уже такая проблема.
Для начала советую протестить на реальном теле или на другом эмуляторе.
Цитата:

Сообщение от beZ_probleM (Сообщение 90510)
ето шо такое? и где его взять можно=)?

MIDWay это программа для заливки java в старые моторолы (типа c650), там есть отладчик. Если подключить телефон в режиме загрузки java и открыть отладчик, он будет показывать различные события AMS и ошибки в том числе.

beZ_probleM 12.11.2008 00:22

Ответ: что с МР? оО
 
переполнение??? оО тоесть много кода написал или как? оО вротмненоги

ViNT 12.11.2008 00:44

Ответ: что с МР? оО
 
В общем была уже такая проблема, обсуждали здесь
http://forum.boolean.name/showthread...5+%EA%EE%E4%E0

beZ_probleM 12.11.2008 01:38

Ответ: что с МР? оО
 
оО ето получаетсо шо есть ограничения... абалдеть... а в чистой яве есть ограничения??

ViNT 12.11.2008 01:48

Ответ: что с МР? оО
 
Ограничения не в MP и не в java, а в эмуляторе.

beZ_probleM 12.11.2008 02:04

Ответ: что с МР? оО
 
хм... так у меня и на мобе не работает... хм... а есть такие эмуляторы шоб у них небыло таких ограничений?...=( ато на юниты бить програму ВААЩЕ не хочетсо...

ViNT 12.11.2008 02:19

Ответ: что с МР? оО
 
Цитата:

Сообщение от beZ_probleM (Сообщение 90522)
хм... так у меня и на мобе не работает...

Тогда, скорее всего, дело не в этом. Нужно либо искать эмулятор с отладчиком(вроде в WTK есь, хотя хз), либо отлаживать на мотороле через MIDWay, я так очень много раз делал, когда мидлет "летел" по неизвестной причине.

GRAY_WOLF 12.11.2008 09:14

Ответ: что с МР? оО
 
Я тоже сталкивался стакой проблемой.Воможно в прэкте есть загрузка картинок из ресурса ошибешся в одной букве тот тебе и белый дисплей хоть на эмуле, хоть в реале.

Cliffe Snake 13.11.2008 04:30

Ответ: что с МР? оО
 
У меня есть такая проблема только с эмулятором SJboy. Игра в 800 строчек кода на МП в нем не показывается, только белый экран. В то время как MidpX запросто воспроизводит эту игруху. Это также случается если компилятору неизвестен тип допущенной в коде ошибки, которую можно вычислить путем процедуры-дебагинга, например:
PHP код:

//////////////////////////////////////////////////////////////
/////////////////////////  DEBUGING  /////////////////////////
//////////////////////////////////////////////////////////////
Procedure debag(mes:string);
begin
 
//if testmode then begin
  
setcolor(255,255,0); //    Переодически встречающуюся связку \/
  
fillrect(0,0,240,320); //  Setcolor->FillRect-->(Repaint/Refresh) использую \/
  
setcolor(0,0,0);
  
Drawtext(mes,(sw-getstringwidth(mes))/2,sh/2);
  
repaint;//refresh;    //     для выявления момента сбоя приложения
  
delay(500);
 
//end;    
end

Вставляешь вызов такой процедуры перед подозрительным местом кода.
И если процедура выполнилась, значит до неё ошибок нет. Всё просто. =)

beZ_probleM 14.11.2008 01:11

Ответ: что с МР? оО
 
блин ... капец... тупо удаляю весь код оставляю токо создание менюшки... запускаю и БЕЛЫЙ ЕКРАН! оО
вставляю функцыю ту шо представлина выше в начало програмы фсёравно БЕЛЫЙ ЕКРАН
создаю новый проект пишу простой вывод текста на екран РАБОТАЕТ НОРМАЛЬНО! оО
В ЧЁМ ЖЕ ПРОБЛЕМА??? КРЫША ЕДИТ.... %)

beZ_probleM 14.11.2008 02:03

Ответ: что с МР? оО
 
ппц... я нашол проблему... но думаю шо ответ на неё меня слегка огорчит...
Вобщем дело такое :
я Написал

PHP код:

Type
  Tkletka
=record
    l
,u,r,d:boolean;
    
dom:boolean;
  
end;
  
Var
 
Map_1:array[0..239,0..319of Tkletka

когда удаляю обявление масива
PHP код:

Map_1:array[0..239,0..319of Tkletka

то фсё работает как по маслу... ето получаетсо что я задал ОЧЕНЬ ОБЁМНЫЙ массив?...=(

ViNT 14.11.2008 02:13

Ответ: что с МР? оО
 
Скорее всего. 76241 элемент минимум по 5 байт (не помню, сколько boolean весит, но явно не меньше), итого 300-400 килобайт... Многовато.

beZ_probleM 14.11.2008 02:27

Ответ: что с МР? оО
 
а integer меньше весит? я могу и integer-ом заменить... какой тип наименьше весит?))

ViNT 14.11.2008 02:52

Ответ: что с МР? оО
 
Не, integer точно больше весит (вроде-как 4 байта)

beZ_probleM 14.11.2008 02:56

Ответ: что с МР? оО
 
а сhar? шото есть такое шо могло б уменьшыть обём занимаемой памяти массивом?...=(

odd 14.11.2008 03:03

Ответ: что с МР? оО
 
Эта тема уже затрагивалась. MP коряво объявляет двухмерные массивы. Тем более массив типа records. Храни всё в одномерном массиве и всё будет норм.

beZ_probleM 14.11.2008 03:14

Ответ: что с МР? оО
 
как координаты запхнуть в одномерный массив?
типа так? :

PHP код:

1001 1002 1003
2001 2002 2003
...........
239001 239002 ... 239319 

оО!!!

Cliffe Snake 14.11.2008 05:13

Ответ: что с МР? оО
 
Цитата:

Сообщение от beZ_probleM (Сообщение 90653)
PHP код:

Map_1:array[0..239,0..319of Tkletka


:wild:
Та блин, не в памяти дело, кое-кому FAQ читать надо было. Это самая типичная ошибка, от которой у начинающих МПкодеров кипят мозги.
МП НЕдержит неквадратных массивов!
Исправь на
PHP код:

Map_1:array[0..319,0..319of Tkletka

и всё будет работать.
А если хочешь запихнуть это дело в одномерный массив, то делай так:
PHP код:

Map_1:array[0..height*widthof Tkletka// Где height и width кол-во строк и столбцов соответственно.
//Далее обращаемся к элементу этого массива по сложному индексу:
Map_1[i*width+j]:=Бла_бла_бла// и всево делов-то =) 


beZ_probleM 14.11.2008 16:58

Ответ: что с МР? оО
 
чувак! (Cliffe Snake) у меня шота не работает кнопка "ПОЛЕЗНО!")))
ОГРОМНОЕ тебе спасибо! таки работает! ;)

P.S. если и писать через одномерный массив то обращатсо надо в моём случае так:

PHP код:

Map_1[i*height+j]:=Бла_бла_бла

У меня просто Высота 319 а шырина 239 ;)
А если там поставить вместо height - width то будет наложение=)

beZ_probleM 15.11.2008 18:36

Ответ: что с МР? оО
 
Люди ещё один вопрос.. а то шо у мну массив такой огромный и оперативы жрёт... то это ОЧЕНЬ БУДЕТ ТОРМОЗИТЬ РОБОТУ ПРОГРАММЫ?? .... ато шото она так глючить начала %)

ViNT 15.11.2008 21:03

Ответ: что с МР? оО
 
По идее, начать тормозить не должно пока оперативка не кончится. Хотя, на самом деле все зависит от телефона.

beZ_probleM 16.11.2008 03:27

Ответ: что с МР? оО
 
а кто знает скоко оперативки у Nokia N73?=)) или у SE w910=)


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

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