Показать сообщение отдельно
  #8  
Старый 17.01.2014, 17:18
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Novikov
Это как так?) какой смысл тогда в обще что компилятор запрещает писать о том что не объявлено выше?
Потому что, то что не объявлено компилятор не знает как компилировать и вообще не знает возможно ли будет скомпилировать. А это называется предварительное (опережающее) объявление и после такого обявления компилятор уже будет знать что переменные этого типа будут занимать 4 байта (для 32-битного приложения).
Но в единственном случае компилятор всё-же разрешает в объявлении ссылаться на ещё не объявленный тип - при объявлении указателя на этот тип:
Код:
type
  PMyType = ^TMyType;
  TMyType = Integer;
Это возможно, так как компилятор знает что все указатели имеют размер 4 байта (для 32-битного приложения).Только это должно быть в одной секции type, впрочем как и в случае предварительного объявления.
Ответить с цитированием