<div><a href="http://stackoverflow.com/questions/7802319/whats-the-syntax-for-literal-arrays-in-free-pascal">RRUZ</a> has the answer:</div><div><br></div><div>const</div><div> XLAT_SIZE = 53;</div><div> xlat : Array[0..XLAT_SIZE-1] of Integer = (</div>

<div> $64, $73, $66, $64, $3b, $6b, $66, $6f,</div><div> $41, $2c, $2e, $69, $79, $65, $77, $72,</div><div> $6b, $6c, $64, $4a, $4b, $44, $48, $53,</div><div> $55, $42, $73, $67, $76, $63, $61, $36,</div><div> $39, $38, $33, $34, $6e, $63, $78, $76,</div>

<div> $39, $38, $37, $33, $32, $35, $34, $6b,</div><div> $3b, $66, $67, $38, $37</div><div>);</div><div><br></div><div>Works for me!</div><div><br></div>Cheers,<div><br></div><div>Andrew Pennebaker</div><div><a href="http://www.yellosoft.us" target="_blank">www.yellosoft.us</a></div>


<br><div class="gmail_quote">On Tue, Oct 18, 2011 at 5:36 AM, Sven Barth <span dir="ltr"><<a href="mailto:pascaldragon@googlemail.com">pascaldragon@googlemail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Am 18.10.2011 11:33, schrieb Sven Barth:<div><div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am 18.10.2011 11:19, schrieb Vincent Snijders:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2011/10/18 Sven Barth<<a href="mailto:pascaldragon@googlemail.com" target="_blank">pascaldragon@googlemail.<u></u>com</a>>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am 18.10.2011 11:12, schrieb Sven Barth:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
type<br>
TByteArray = array of Byte;<br>
<br>
function XlatPrime(): TByteArray;<br>
begin<br>
XlatPrime := TByteArray.Create(<br>
$64, $73, $66, $64, $3b, $6b, $66, $6f,<br>
$41, $2c, $2e, $69, $79, $65, $77, $72,<br>
$6b, $6c, $64, $4a, $4b, $44, $48, $53,<br>
$55, $42, $73, $67, $76, $63, $61, $36,<br>
$39, $38, $33, $34, $6e, $63, $78, $76,<br>
$39, $38, $37, $33, $32, $35, $34, $6b,<br>
$3b, $66, $67, $38, $37<br>
);<br>
end;<br>
</blockquote>
<br>
Before I forget it: If you use this solution (not the const one) or<br>
you use<br>
"SetLength", you need to free the array using "SetLength(0)" or<br>
"YourArrayVariable := Nil", otherwise you'll have a memory leak. You<br>
must<br>
not do this if you use the const solution.<br>
</blockquote>
<br>
That is unexpected. Until now, SetLength was used for ansistrings and<br>
dynamic arrays, which didn't have this requirement (unless you messed<br>
with the internals using Move).<br>
</blockquote>
<br>
Could be that I missed the reference counting of arrays. At least I<br>
always try to "free" my arrays by hand ^^<br>
</blockquote>
<br></div></div>
Yes, seems like I missed the ref counting. See <a href="http://www.freepascal.org/docs-html/ref/refsu15.html#x39-430003.3.1" target="_blank">http://www.freepascal.org/<u></u>docs-html/ref/refsu15.html#<u></u>x39-430003.3.1</a><br>


<br>
====<br>
As remarked earlier, dynamic arrays are reference counted: if in one of the previous examples A goes out of scope and B does not, then the array is not yet disposed of: the reference count of A (and B) is decreased with 1. As soon as the reference count reaches zero the memory, allocated for the contents of the array, is disposed of.<br>


====<div><div></div><div class="h5"><br>
<br>
Regards,<br>
Sven<br>
______________________________<u></u>_________________<br>
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank">fpc-pascal@lists.freepascal.<u></u>org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/<u></u>mailman/listinfo/fpc-pascal</a><br>
</div></div></blockquote></div><br>