Size: a a a

2021 January 21

DB

Dmitry Belkevich in Delphi & Lazarus
Nik
Компилятор не ругается, но словить глюки на ровном месте из-за записей - это запросто)
компилятор не ругается и зря )
источник

z

zamtmn in Delphi & Lazarus
Alexey Shumkin
компилятор разве ругается на неинициализированные записи?
Ругается, но невсегда. и это плохо. пожалуй надо зарепортить
источник

z

zamtmn in Delphi & Lazarus
Дмитрий Texnix
init это то что вызывается после конструктора, чтобы конструктор можно было наследовать и сзади и спереди, не мешая иниту при этом после всего этого запускаться.
init - общепринятое название конструктора для object. инициализация уже созданого инстанса
create - стильное-модное-молодежное название конструкторов принятое для классов. возвращает созданый инстанс
первый используется применительно к переменной, второй к типу. Поэтому для рекордов мне кажется инит больше подходит
источник

z

zamtmn in Delphi & Lazarus
Alexey Shumkin
компилятор разве ругается на неинициализированные записи?
https://bugs.freepascal.org/view.php?id=38379 посмотрим чем кончится
источник

GB

George Bakhtadze in Delphi & Lazarus
Как называть конструктор записи?
Анонимный опрос
40%
Create()
23%
Init()
0%
Construct()
9%
CreateRecord()
29%
Записям не нужны конструкторы
0%
Ваш вариант
Проголосовало: 35
источник

HG

Hemul GM in Delphi & Lazarus
George Bakhtadze
Как называть конструктор записи?
Анонимный опрос
40%
Create()
23%
Init()
0%
Construct()
9%
CreateRecord()
29%
Записям не нужны конструкторы
0%
Ваш вариант
Проголосовало: 35
Зависит от того, как ты хочешь сделать
источник

HG

Hemul GM in Delphi & Lazarus
Например.
TMyRecord = record
 class function Create(...): TMyRecord; static;
источник

HG

Hemul GM in Delphi & Lazarus
Тут явно удобнее Create
источник

z

zamtmn in Delphi & Lazarus
»Construct
это короче чем CreateRecord. остановлюсь на варианте Init + Construct
источник

HG

Hemul GM in Delphi & Lazarus
а если просто метод, то зачем Create, лучше Init или Fill
источник

z

zamtmn in Delphi & Lazarus
Hemul GM
Тут явно удобнее Create
С учетом что create принят для классов, лучше похоже, но не Create. ИМХО
источник

HG

Hemul GM in Delphi & Lazarus
zamtmn
С учетом что create принят для классов, лучше похоже, но не Create. ИМХО
Я вроде показал выше пример
источник

HG

Hemul GM in Delphi & Lazarus
var MyRecord: TMyRecord;
...
 MyRecord := TMyRecord.Create(...);
источник

HG

Hemul GM in Delphi & Lazarus
Это отдельно удобно для record helper
источник

HG

Hemul GM in Delphi & Lazarus
источник

HG

Hemul GM in Delphi & Lazarus
var Value: TVkPeerType;
...
 Value := ptChat;
 var str : = Value.ToString;
 str := ptUser.ToString;
 Value := TVkPeerType.Create(str);
источник

z

zamtmn in Delphi & Lazarus
TDummyAdvRec=record
 constructor Init();
 class function Construct():TDummyAdvRec;static;
end;
остановлюсь на таком варианте
источник

VA

Viktor Akselrod in Delphi & Lazarus
раз уж речь идет про стиль - эмба отказывается от префиксов у элементов энума в пользу использования полного именования при обращении: тип.элемент

alTop
старый вариант
TAlignLayout.Top новый
источник

z

zamtmn in Delphi & Lazarus
Viktor Akselrod
раз уж речь идет про стиль - эмба отказывается от префиксов у элементов энума в пользу использования полного именования при обращении: тип.элемент

alTop
старый вариант
TAlignLayout.Top новый
А обратная совместимость?
источник

HG

Hemul GM in Delphi & Lazarus
Viktor Akselrod
раз уж речь идет про стиль - эмба отказывается от префиксов у элементов энума в пользу использования полного именования при обращении: тип.элемент

alTop
старый вариант
TAlignLayout.Top новый
Вообще-то нет
источник