[fpc-pascal] compile time init'ing records

Maciej Izak hnb.code at gmail.com
Fri Apr 13 08:29:32 CEST 2018

2018-04-13 5:02 GMT+02:00 Ryan Joseph <ryan at thealchemistguild.com>:

> Why can’t we just do something simple like this? A simple meta programming
> hack to dump the “default” section at the start of the scope the variable
> is declared in so we don’t have to do this ourselves every time. It
> probably breaks down for init’ing records but for compiler types it seems
> pretty simple.

No need for something like new default section. You can just use :

===code begin===
{$DEFINE TMyRecord_Default := (i: 1; s: 'foo')}

  TMyRecord = record
    i: integer;
    s: string;

  myRec: TMyRecord = TMyRecord_Default;
===code end===

you can also try new management operator "Initialize":


Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20180413/e05a58a9/attachment.html>

More information about the fpc-pascal mailing list