Свойства и приватные методы у записей: а что,так можно было?

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

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

Свойства и приватные методы у записей: а что,так можно было?

Сообщение Cheb » 12.02.2023 10:52:39

Поглядел в исходники RTL - и ощутил себя дятлом не одупляющим

Код: Выделить всё
TVmt = record
         vInstanceSize: SizeInt;
         vInstanceSize2: SizeInt;
         vParentRef: {$ifdef VER3_0}PVmt{$else}PPVmt{$endif};
          ...
       private
         function GetvParent: PVmt; inline;
       public
         property vParent: PVmt read GetvParent;
       end;

А... А так можно, получается?.. :oops:
А я столько городушек городил... :cry:

С каких пор так можно? Когда эту фичу припилить успели?
Когда я в 2002-м изучал Фри Паскаль 1.0.6 - помнится, так нельзя было.

Добавлено спустя 5 минут 15 секунд:
Так... В фпц 2.6.4 было:
Код: Выделить всё
       TVmt = record
         vInstanceSize: SizeInt;
         vInstanceSize2: SizeInt;
         vParent: PVmt;
         ...
       end;

- т.е. проперти эту добавили для обратной совместимости после изменения унутренних форматов.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Свойства и приватные методы у записей: а что,так можно б

Сообщение iskander » 12.02.2023 12:05:13

Cheb писал(а):С каких пор так можно? Когда эту фичу припилить успели?

Емнип начиная с 2.6.0.
iskander
энтузиаст
 
Сообщения: 590
Зарегистрирован: 08.01.2012 18:43:34

Re: Свойства и приватные методы у записей: а что,так можно б

Сообщение MiniQ » 12.02.2023 12:43:24

включается так
{$modeSwitch advancedRecords}
MiniQ
новенький
 
Сообщения: 81
Зарегистрирован: 28.01.2013 16:31:55

Re: Свойства и приватные методы у записей: а что,так можно б

Сообщение Cheb » 12.02.2023 23:14:39

MiniQ писал(а):включается так

Аааа... Я всё это время... :oops: :cry:
Даже не подозревал.
Какой позор.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Свойства и приватные методы у записей: а что,так можно б

Сообщение Mikhail » 13.02.2023 16:00:26

Cheb писал(а):
MiniQ писал(а):включается так

Аааа... Я всё это время... :oops: :cry:
Даже не подозревал.
Какой позор.


Еще можно операторы перегружать

А с версии 3.2.2 еще и так можно
https://wiki.freepascal.org/management_operators
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: Свойства и приватные методы у записей: а что,так можно б

Сообщение Sharfik » 13.02.2023 18:45:23

Это чтобы программа точно не заработала стабильно никогда.
Нахрена оно надо? Есть классы, есть рекорды(просто пакет данных). Нахрена городить огород? :x :evil:
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 756
Зарегистрирован: 20.07.2013 01:04:30

Re: Свойства и приватные методы у записей: а что,так можно б

Сообщение Mikhail » 14.02.2023 16:35:56

Sharfik писал(а):Это чтобы программа точно не заработала стабильно никогда.
Нахрена оно надо? Есть классы, есть рекорды(просто пакет данных). Нахрена городить огород? :x :evil:


На стабильность это влияет строго положительно. Рекорды,в отличие от классов, могут находится на стеке, например.
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: Свойства и приватные методы у записей: а что,так можно б

Сообщение Cheb » 27.02.2023 05:35:28

Mikhail писал(а):А с версии 3.2.2 еще и так можно

Вааай :D
Спасибо, не знал :)
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34


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

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

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

Рейтинг@Mail.ru