<div dir="ltr"><span style="font-size:12.8px">1 cTekst:=StrAlloc(600);</span><span class="im" style="font-size:12.8px"><br>2 cTekst:=#13'Now is the winter of our discontent'#13;  <br></span><span class="im" style="font-size:12.8px">3 cTekst:=StrCat(cTekst,'Made glorious summer by this sun of York;'#13);</span><br><div><span class="im" style="font-size:12.8px"><br></span></div><div><span class="im" style="font-size:12.8px">On line 2 you change the value of cTekst and lose the memory allocated by StrAlloc. What you want to do is to copy the string constant value in the allocated memory with StrCopy or StrMove. See <a href="http://www.freepascal.org/docs-html/rtl/strings/strcat.html">http://www.freepascal.org/docs-html/rtl/strings/strcat.html</a></span></div><div><span class="im" style="font-size:12.8px"><br></span></div><div><font color="#500050"><span style="font-size:12.8px">Another solution:</span></font></div><div><font color="#500050"><span style="font-size:12.8px"><br></span></font></div><div><font color="#500050"><span style="font-size:12.8px">var</span></font></div><div><font color="#500050"><span style="font-size:12.8px">  S : String;</span></font></div><div><font color="#500050"><span style="font-size:12.8px">  cTekst : PChar;</span></font></div><div>begin</div><div>   <span style="color:rgb(80,0,80);font-size:12.8px">S := #13'Now is the winter of our discontent'#13;</span></div><span class="im" style="font-size:12.8px">   S := S + 'Made glorious summer by this sun of York;'#13;</span><div><font color="#500050"><span style="font-size:12.8px">   cTekst := @S[1];</span></font></div><div><font color="#500050"><span style="font-size:12.8px">end;<br></span></font><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-06-24 9:43 GMT+02:00 Koenraad Lelong <span dir="ltr"><<a href="mailto:lazarus2@de-brouwerij.be" target="_blank">lazarus2@de-brouwerij.be</a>></span>:<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:38 schreef Martin Grajcar:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Have you checked if there's any room behind #13'Now is the winter of our<br>
discontent'#13, so that someone else's memory won't get overwritten? I'd<br>
bet, there's none.<br>
<br></span>
/Appends a copy of the source string to the destination string. The<span class=""><br>
terminating null character in destination is overwritten by the first<br>
character of source, and a null-character is included at the end of the<br></span>
new string formed by the concatenation of both *in destination*./<span class=""><br>
<br>
You'd need something like<br>
SetLength(cTekst, enoughToHoldThemAll);<br>
and maybe also<br>
cTekst[oldLength] := #0;<br>
before the very first strcat.<br>
<br>
</span></blockquote>
Updated my code :<br>
<br>
 cTekst:=StrAlloc(600);<span class=""><br>
 cTekst:=#13'Now is the winter of our discontent'#13;<br></span><span class="">
 cTekst:=StrCat(cTekst,'Made glorious summer by this sun of York;'#13);<br></span>
 ...<br>
<br>
cTekst is still a PChar.<br>
<br>
Same problem : on the pi the program crashes on the first StrCat with a 216 error.<br>
<br>
An extra error, now on my OpenSuse-box :<br>
I finally do<br>
StrDispose(cTekst);<br>
And then the application crashes with a 216 error. Leaving that StrDispose out it runs fine, but then there's a memory-leak.<br>
<br>
FWIW, I'm using FPC 2.6.5 (SVN version 49333M) on OpenSuse and 3.0.0 on the pi.<div class="HOEnZb"><div class="h5"><br>
<br>
Koenraad<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>