<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2017-02-05 14:34 GMT+01:00 Ryan Joseph <span dir="ltr"><<a href="mailto:ryan@thealchemistguild.com" target="_blank">ryan@thealchemistguild.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-:365" class="gmail-a3s gmail-aXjCH gmail-m15a0e97973c7c7c3">However, the constructor with default params does not work. I get the same error as before. {$modeswitch advancedrecords} is on.<br>
<br>
type<br>
        MyRecord = record<br>
                x: integer;<br>
                constructor Foo (_x: integer = 0);<br>
        end;</div></blockquote></div><br>AFAIK this is by design. In theory "constructor Create;" is reserved for record "Initializers" (which means initialization for managed fields of record). Parameter less constructor doesn't have much sense for records. Use "class function Foo: MyRecord ;" instead. Probably syntax "constructor Create;" will be used for record initializers in next Delphi releases (around 2018?). In FPC we have implemented this feature (not merged yet : <a href="http://bugs.freepascal.org/view.php?id=30687">http://bugs.freepascal.org/view.php?id=30687</a> ) but as "class operator Initialize(var a: MyRecord);".</div><div class="gmail_extra"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Best regards,<br>Maciej Izak</div></div></div>
</div></div>