<div dir="ltr"><div dir="ltr">I'm using this solution myself for the vector and matrix data types at<div><br></div><div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.pas">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.pas</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2.Swizzle.Definitions.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2.Swizzle.Definitions.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2.Swizzle.Implementations.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2.Swizzle.Implementations.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2Helper.Swizzle.Definitions.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2Helper.Swizzle.Definitions.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2Helper.Swizzle.Implementations.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector2Helper.Swizzle.Implementations.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3.Swizzle.Definitions.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3.Swizzle.Definitions.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3.Swizzle.Implementations.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3.Swizzle.Implementations.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3Helper.Swizzle.Definitions.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3Helper.Swizzle.Definitions.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3Helper.Swizzle.Implementations.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector3Helper.Swizzle.Implementations.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4.Swizzle.Definitions.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4.Swizzle.Definitions.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4.Swizzle.Implementations.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4.Swizzle.Implementations.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4Helper.Swizzle.Definitions.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4Helper.Swizzle.Definitions.inc</a></div><div><a href="https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4Helper.Swizzle.Implementations.inc">https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.Math.TpvVector4Helper.Swizzle.Implementations.inc</a></div><div><br></div></div><div>without any bigger issues, except that the Delphi IDE has some runtime CodeInsight record lookup issues from time to time.  </div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 28, 2018 at 8:47 PM Sven Barth via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div class="m_4836789524086571689moz-cite-prefix">Am 28.11.2018 um 20:27 schrieb Benjamin
      Rosseaux:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr"><font face="monospace, monospace">program Test123;</font>
        <div><font face="monospace, monospace">{$ifdef fpc}</font></div>
        <div><font face="monospace, monospace">  {$mode delphi}</font></div>
        <div><font face="monospace, monospace">{$endif}<br>
            <br>
            type<br>
              TTest = record<br>
              public<br>
                a: LongInt;<br>
                b: LongInt;<br>
              end;<br>
            <br>
              TTestHelper = record helper for TTest<br>
              public<br>
                const Default: TTest = (a: 1; b: 2);<br>
              end;<br>
            <br>
            var <br>
              Test: TTest;<br>
            begin<br>
              Test := TTest.Default;<br>
            end.</font></div>
      </div>
      <br>
    </blockquote>
    That is indeed a good idea and with the extension to allow multiple
    helpers there wouldn't even be a negative impact... 🤔<br>
    <br>
    Regards,<br>
    Sven<br>
  </div>

_______________________________________________<br>
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank">fpc-pascal@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal" rel="noreferrer" target="_blank">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal</a></blockquote></div>