forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Вложенные записи (структуры record/end) в MP (http://forum.boolean.name/showthread.php?t=2082)

Barklay 10.12.2006 10:37

Вложенные записи (структуры 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 это запрещено?

IVenoMI 10.12.2006 17:08

Re: Вложенные записи (структуры record/end) в MP
 
Насколько я помню, поддержка вложеных записей появилась в версии 2.02. Во всяком случае у меня твой код работает...

Barklay 11.12.2006 10:46

Re: Вложенные записи (структуры record/end) в MP
 
Цитата:

Сообщение от IVenoMI
Насколько я помню, поддержка вложеных записей появилась в версии 2.02. Во всяком случае у меня твой код работает...

Хоть у меня тоже MP версии 2.02, для чистоты эксперимента я даже снёс
его, затем ещё раз скачал свежак с сайта разработчиков и ещё раз запустил - падает... :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) Криво стал эмулятор - я его дважды ставил поверх др.друга (без сноса), а между этими попытками ещё пытался поставить СониЭриксоновский емуль.

Barklay 11.12.2006 10:58

Re: Вложенные записи (структуры record/end) в MP
 
В предыдущем сообщении пункт 2) - это был вопрос/предположение.

И кстати, обнаружил, что у меня на компе странно падает при запуске <Java Web Start> (с сообщением: "javaw.exe - Application error"), но после пинка (клавиша Ok) спокойно продолжает работать.
Может этот факт наведет на подлинную причину...?

IVenoMI 11.12.2006 12:39

Re: Вложенные записи (структуры record/end) в MP
 
Какой эмуль стоит?..

Barklay 11.12.2006 21:24

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

Далее - обнаруживаю ошибку (по сабжу)

IVenoMI 12.12.2006 13:50

Re: Вложенные записи (структуры record/end) в MP
 
Попытался воспроизвести последовательность установки - и получил туже ошибку...

Снес все - ошибка осталась... Однако...

Barklay 13.12.2006 23:41

Re: Вложенные записи (структуры record/end) в MP
 
И что делать?

IVenoMI 14.12.2006 10:55

Re: Вложенные записи (структуры record/end) в MP
 
Самое смешное, ничего не помагает... Ради чистоті єксперимента снесу систему сегодня...

Barklay 16.12.2006 11:16

Re: Вложенные записи (структуры record/end) в MP
 
Последовав совету, вчера поставил НОВУЮ винду (была eng, стала rus) на той же машине в НОВУЮ директорию (мультьизагрузка - старт или со старой винды или с новой).

И вот, в новой винде, с чистого листа, с сайта sun взял яву с NetBeans + последний Mobile Patch, установил... прошел в директорию Midlet'овских проектов и запустил в специально оставленном проекте от мидлетпаскаля jad-файл (простейший пример с одной переменной - см. выше по сабжу).

Результат: ПАДАЕТ на Java окно!!!

И это при том, что в старой винде - лежащей в другой директории я снес все явы, все емули (в том числе и от SE)

Что делать, ну не форматировать же машину?!

IVenoMI 20.12.2006 04:08

Re: Вложенные записи (структуры record/end) в MP
 
Пардон, ошибся я...

Когда в первый раз компилил твой код, слуайно удалил объявление переменной...

Соответственно, Паскаль не держит вложенные записи... Ждем-с обновления...

Barklay 25.12.2006 04:21

Re: Вложенные записи (структуры record/end) в MP
 
Уппссс!!!

Спасибо - а я неделю на ушах!
Винду переставлял...

Да ладно, всё одно хотел новую поставить.
Так что да, будем ждать обновления.

Barklay 25.12.2006 04:23

Re: Вложенные записи (структуры record/end) в MP
 
Кстати, а сервак у них до сих пор лежит?

Боюсь кого-то разочаровать, но похоже проект умер. Сервер лежит уже не первый месяц.(Piligrim)

jimon 25.12.2006 09:10

Re: Вложенные записи (структуры record/end) в MP
 
Barklay
пиши все в одном сообщении

IVenoMI 25.12.2006 10:40

Re: Вложенные записи (структуры record/end) в MP
 
Сервер поднимали, однако там творится такой хаос, что я только минут через 25 нашел хоть одну осмысленную тему на форуме, не являющеюся спамом...

А теперь снова лег...


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

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