Вложенные записи (структуры record/end) в MP
Вопрос: Неужели MP не позволяет делать вложенные записи (record's)?
В приведённом ниже простейшем примере компиляция происходит без ошибок, эмулятор прекрасно стартует, но потом - MIDLet вылетает! (на отладочное Java-окно) Полный выщелоченный пример: program Records; type TPoint = record // Тип - точка x,y : integer end; TColor = record // Тип - цвет r,g,b : integer end; TColorPoint = record // Тип - цветная точка Point : TPoint; Color : TColor end; var ArrOfColPnts : array [0..1] of TColorPoint; // Массив цветных точек i : integer; begin {Очистка массива цветных точек, например} for i := 0 to 1 do begin ArrOfColPnts[i].Point.x := 0; ArrOfColPnts[i].Point.y := 0; ArrOfColPnts[i].Color.r := 0; ArrOfColPnts[i].Color.g := 0; ArrOfColPnts[i].Color.b := 0; end; {И просто Hello world } drawText('Hello world!', 0, 0); repaint; delay(2000); end. Сталкивался ли кто нибудь с этим? Что это - баг? Или в стандарте языка MP это запрещено? |
Re: Вложенные записи (структуры record/end) в MP
Насколько я помню, поддержка вложеных записей появилась в версии 2.02. Во всяком случае у меня твой код работает...
|
Re: Вложенные записи (структуры record/end) в MP
Цитата:
его, затем ещё раз скачал свежак с сайта разработчиков и ещё раз запустил - падает... :dontknow: Более того, я заменил массив на одиночную переменную этого составного типа и (ДАЖЕ!) убрал инициализацию. Вообще - оставил только объявления типов (type), объявление одиночной переменной (var) и одинокий хеллоу-ворд. Результат: Нормально компилится, нормально запускается и ПАДАЕТ... (на отладочноеокно Java): program Records_1; type TPoint = record // Тип - точка x,y : integer end; TColor = record // Тип - цвет r,g,b : integer end; TColorPoint = record // Тип - цветная точка Point : TPoint; Color : TColor end; var ColorPoint : TColorPoint; begin drawText('Hello world!', 0, 0); repaint; delay(2000); end. Если переменную убрать, оставив объявление типов или при тех же условиях дать ей другой тип - всё работает!!! Т.е. всего лишь объявление переменной этого типа (без всякого кода работы с ней) рогняет прогу (хотя компиляция - Ок!) 1) Может быть это связано с тем ,что у меня стояла старая версия МР и при сносе не всё убирается? 2) Криво стал эмулятор - я его дважды ставил поверх др.друга (без сноса), а между этими попытками ещё пытался поставить СониЭриксоновский емуль. |
Re: Вложенные записи (структуры record/end) в MP
В предыдущем сообщении пункт 2) - это был вопрос/предположение.
И кстати, обнаружил, что у меня на компе странно падает при запуске <Java Web Start> (с сообщением: "javaw.exe - Application error"), но после пинка (клавиша Ok) спокойно продолжает работать. Может этот факт наведет на подлинную причину...? |
Re: Вложенные записи (структуры record/end) в MP
Какой эмуль стоит?..
|
Re: Вложенные записи (структуры record/end) в MP
Эмуль? - Классика: J2ME WTK 2.2 (родной с сайта Sun);
Пытался поставить SE-емуль (SonyEricsson), т.к. у меня свой телефон - именно этой фирмы, чтобы джогдайлы (колёсики всякие) задействовать, но потом понял - рано ещё (я начинающий), и я опять поверху вернул WTK (простой переинсталляцией). Правда, бага с javaw.exe (см. пост выше) проявлялась раньше, до эмуля от SE. Пожалуй, скажу больше - она проявилась сразу при установке ещё самой Jav'ы. Т.о. картина такая: 1) Вначале ставилась Java (там - глюк уже при инсталляции, при старте их демок требует пинка - клавишей <Ок> на сообщение об ошибке от javaw.exe - но после пинка всё работает); 2) Далее ставится эмуль J2ME WTK 2.2; 3) Далее, параллельно к нему - эмуль от SE (хотел, чтоб оба были на компе); 4) А он (от SE) забрал на себя весь ресурс (реакция на расширения файлов); 5) Поэтому я ставлю опять WTK Далее - обнаруживаю ошибку (по сабжу) |
Re: Вложенные записи (структуры record/end) в MP
Попытался воспроизвести последовательность установки - и получил туже ошибку...
Снес все - ошибка осталась... Однако... |
Re: Вложенные записи (структуры record/end) в MP
И что делать?
|
Re: Вложенные записи (структуры record/end) в MP
Самое смешное, ничего не помагает... Ради чистоті єксперимента снесу систему сегодня...
|
Re: Вложенные записи (структуры record/end) в MP
Последовав совету, вчера поставил НОВУЮ винду (была eng, стала rus) на той же машине в НОВУЮ директорию (мультьизагрузка - старт или со старой винды или с новой).
И вот, в новой винде, с чистого листа, с сайта sun взял яву с NetBeans + последний Mobile Patch, установил... прошел в директорию Midlet'овских проектов и запустил в специально оставленном проекте от мидлетпаскаля jad-файл (простейший пример с одной переменной - см. выше по сабжу). Результат: ПАДАЕТ на Java окно!!! И это при том, что в старой винде - лежащей в другой директории я снес все явы, все емули (в том числе и от SE) Что делать, ну не форматировать же машину?! |
Re: Вложенные записи (структуры record/end) в MP
Пардон, ошибся я...
Когда в первый раз компилил твой код, слуайно удалил объявление переменной... Соответственно, Паскаль не держит вложенные записи... Ждем-с обновления... |
Re: Вложенные записи (структуры record/end) в MP
Уппссс!!!
Спасибо - а я неделю на ушах! Винду переставлял... Да ладно, всё одно хотел новую поставить. Так что да, будем ждать обновления. |
Re: Вложенные записи (структуры record/end) в MP
Кстати, а сервак у них до сих пор лежит?
Боюсь кого-то разочаровать, но похоже проект умер. Сервер лежит уже не первый месяц.(Piligrim) |
Re: Вложенные записи (структуры record/end) в MP
Barklay
пиши все в одном сообщении |
Re: Вложенные записи (структуры record/end) в MP
Сервер поднимали, однако там творится такой хаос, что я только минут через 25 нашел хоть одну осмысленную тему на форуме, не являющеюся спамом...
А теперь снова лег... |
Часовой пояс GMT +4, время: 04:52. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot