<div dir="ltr">Have you checked if there's any room behind <span style="font-size:12.8000001907349px"><font face="monospace, monospace">#13'Now is the winter of our discontent'#13</font>, so that someone else's memory won't get overwritten? I'd bet, there's none.</span><div><span style="font-size:12.8000001907349px"><br></span></div><i>Appends a copy of the source string to the destination string. The terminating null character in destination is overwritten by the first character of source, and a null-character is included at the end of the new string formed by the concatenation of both <b>in destination</b>.</i><br><div><br></div><div>You'd need something like<br><font face="monospace, monospace">SetLength(cTekst, enoughToHoldThemAll);</font><br>and maybe also</div><div><span style="font-family:monospace,monospace">cTekst[oldLength] := #0;</span></div><div>before the very first <font face="monospace, monospace">strcat</font>.<font face="monospace, monospace"><br></font><div><div><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:12px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:12px"><br></span></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 23, 2016 at 9:27 PM, Koenraad Lelong <span dir="ltr"><<a href="mailto:lazarus2@de-brouwerij.be" target="_blank">lazarus2@de-brouwerij.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Op 23-06-16 om 21:08 schreef Koenraad Lelong:<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Op 23-06-16 om 16:58 schreef David W Noon:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
[snip]<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
cTekst:=#13'Now is the winter of our discontent'#13;<br>
</blockquote>
<br>
You need a trailing #0 byte on the end.<br>
<br>
</blockquote>
<br>
The definition of cTekst :<br>
var<br>
    cTekst : PChar;<br>
<br>
So the compiler knows cTekst is a 0-terminated string doesn't, it ?<br>
And StrCat needs two parameters : PChar and PChar. So I think the<br>
compiler knows the strings are zero-terminated.<br>
Besides, on my OpenSuse-box it works, or is that by chance ?<br>
<br>
Koenraad.<br>
<br>
</blockquote></span>
Extra info :<br>
I checked with a hex-dumper (executables for opensuse & pi). All strings end with a #0. No byte-count in front of them. All start at a longword-boundary.<span class="HOEnZb"><font color="#888888"><br>
<br>
Koenraad</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
-- <br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus-ide.org" target="_blank">Lazarus@lists.lazarus-ide.org</a><br>
<a href="http://lists.lazarus-ide.org/listinfo/lazarus" rel="noreferrer" target="_blank">http://lists.lazarus-ide.org/listinfo/lazarus</a><br>
</div></div></blockquote></div><br></div>