Hallo,
tritt der Fehler auch auf, wenn Du die Ersetzungen in einer Schleife durchführst?
In etwa so:
Delphi-Quellcode:
for i:= 1 to length(hs) do
begin
if hs[i] in ['r','n','b','k','q'] then
hs[i] := '2'
else
if hs[i] in ['R','N'] then
hs[i] := '1';
end;
Edit: Wenn Dein Applikation mit SigSegV sich verabschiedet, wird meines Wissens auch ein core file generiert. Dieses kannst Du mit
gdb auswerten. Vielleicht kommst Du so auf den Verursacher.
Grüße
Klaus