So what will be the preferred way of initializing records?
With a \'factory function\':
TMyRecord = record valueX: integer; valueY: integer; end; fu
I usually don't create constructors for records. It's not compatible with all versions (and FPC). Moreover typically they are used only in one place and often a fillchar is enough.