<div dir="ltr">Hello,<div><br></div><div><div>The simple program below compiles and produces the expected output in 2.6.4. In 2.7.1 (3.1.1 now)  an EAccessViolation is caused.</div><div><br></div><div>The strlower function seems to be in strings.inc and written in assembler. Unfortunately I can not decipher the assembly to research further.</div></div><div><br></div><div>---</div><div><br></div><div><div>program teststrlowersimple;</div><div><br></div><div>{$mode objfpc}</div><div>{$H+}</div><div><br></div><div>uses</div><div>  sysutils;</div><div><br></div><div>var</div><div>  s : string;</div><div>  p : pchar;</div><div><br></div><div>begin</div><div>  s := 'UPPPERCASESTRING';</div><div>  p := pchar(s);</div><div>  strlower(p); // EAccessViolation: Access violation</div><div>  writeln(s);</div><div>end.</div></div><div><br></div></div>