Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2013, 11:25   #1
studen
Пользователь
 
Регистрация: 21.05.2012
Сообщений: 88
Злость Проблема с объявлениями в делфи

Приветствую, товарищи. Никак не могу объявить два класса, которые ссылаются друг на друга. Вот мой код:
Код:
type
  TMapData = object
    Map: ^TMap;
    Kind: (horz, vert);
    Value: Single;
    Horz, Vert: Integer;
  end;
  TMap = object
    Horz: array [ 0..5, 0..5 ] of TMapData;
    Vert: array [ 0..5, 0..5 ] of TMapData;
  end;
studen вне форума Ответить с цитированием
Старый 07.05.2013, 11:35   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

вот так должно работать:
Цитата:
type
TMapData = object;
TMap = object;
TMapData = object
Map: ^TMap;
Kind: (horz, vert);
Value: Single;
Horz, Vert: Integer;
end;
TMap = object
Horz: array [ 0..5, 0..5 ] of TMapData;
Vert: array [ 0..5, 0..5 ] of TMapData;
end;
И да, object скоро исчезнет из delphi
Человек_Борща вне форума Ответить с цитированием
Старый 07.05.2013, 14:19   #3
studen
Пользователь
 
Регистрация: 21.05.2012
Сообщений: 88
По умолчанию

Скопировал, все перепроверил, не работает:
Код:
[Error] maps.pas(20): 'END' expected but ';' found
[Error] maps.pas(21): 'END' expected but ';' found
[Error] maps.pas(22): Identifier redeclared: 'TMapData'
[Error] maps.pas(28): Identifier redeclared: 'TMap'
[Fatal Error] demo04.dpr(20): Could not compile used unit 'maps.pas'
мб я что-то не так делаю?

Упс, я поменял object на class и это предварительное объявление заработало, все хорошо, спасибо

Последний раз редактировалось studen; 07.05.2013 в 14:28.
studen вне форума Ответить с цитированием
Старый 07.05.2013, 19:11   #4
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
И да, object скоро исчезнет из delphi
А вот тут пожалуйста по подробнее.
Kix.IV вне форума Ответить с цитированием
Старый 07.05.2013, 19:29   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А че подробней? Устаревшая, оставленная для совместимости конструкция.
http://programmersforum.ru/showthread.php?t=171988
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.05.2013, 20:49   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Его уже в XE4 хотели выкинуть...
Человек_Борща вне форума Ответить с цитированием
Старый 07.05.2013, 21:56   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

наверное просто забывают, а потом опа, блин опять в релиз ушел
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема в делфи с Application lipetskagirl Общие вопросы Delphi 7 13.12.2012 07:42
Проблема с формой в Делфи Фиалка001 Общие вопросы Delphi 1 07.10.2011 09:02
Проблема с делфи 7 Ромка-12 Помощь студентам 2 16.09.2010 17:03
Требуется программист для Сайта - портал с объявлениями 1000web Фриланс 1 05.07.2010 10:46
Проблема в Делфи Лунатик222 Помощь студентам 2 02.02.2009 20:04