Записи и конструкторы

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Записи и конструкторы

Сообщение wwswowsogon » 15.01.2014 00:06:40

Всем доброго времни суток!

Пытаюсь установить GLScene на Lazarus 1.014.

Вылезают косяки.

Код: Выделить всё
type

  PGLPoint2D = ^TGLPoint2D;
  TGLPoint2D = record
    X: Single;
    Y: Single;
    public
      constructor Create(X, Y : Single);
      procedure SetPosition(const X, Y : Single);
      function Add(const APoint2D: TGLPoint2D): TGLPoint2D;
      function Length: Single; //distance to origin
      function Distance(const APoint2D : TGLPoint2D) : Single;
      procedure Offset(const ADeltaX, ADeltaY : Single);
  end; 


- идёт ругань на constructor: C:\lazarus\components\GLScene\Source\GLTypes.pas(35,7) Error: Constructors aren't allowed in records or record helpers

Как я понял, конструкторы нельзя использовать в записях в FPC, а в Delphi - можно. {$MODE DELPHI} не помогает.

Как можно обойти эту проблему?
wwswowsogon
постоялец
 
Сообщения: 157
Зарегистрирован: 23.12.2008 20:41:37

Re: Записи и конструкторы

Сообщение Максим » 15.01.2014 02:37:25

Обойти проблему легко: взять актуальную версию GLScene. В текущей версии файла GLTypes.pas конструкторов нет.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Записи и конструкторы

Сообщение sign » 15.01.2014 06:34:16

Или написать вместо record - object
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Записи и конструкторы

Сообщение wwswowsogon » 15.01.2014 20:42:42

Спасибо! Действительно сильно помогло, всё в основном установилось. Можно писать код :)
wwswowsogon
постоялец
 
Сообщения: 157
Зарегистрирован: 23.12.2008 20:41:37


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

Рейтинг@Mail.ru