Hallo himitsu,
entschuldige, dass ich diesen etwas älteren Fred nochmal aufwärmen muss, bin aber auf einen Fehler/
Exception gestoßen, die ich einfach nicht weg kriege.
Es wird immer eine
Exception geschmissen, wenn im Suchstring das zu ersetzende Pattern ganz am Ende steht:
Erste Gelegenheit für Exception bei $75669617. Exception-Klasse ERangeError mit Meldung 'Fehler bei Bereichsprüfung'
in der Zeile:
Move(S[i], Result[i2], i4 * SizeOf(Char));
Hier der Test-Code zum Nachvollziehen:
Delphi-Quellcode:
dummy:='Text Old';
ergebnis := StrRep.StringReplace(dummy, 'Old', 'New', [rfReplaceAll]);
Assert(ergebnis='Text New');
Steht der Text am Anfang oder irgendwo in der Mitte (es folgt also noch mindestens ein Buchstabe), so läuft die Funktion einwandfrei.
Vielleicht kannst du mich/uns erhellen...
Danke,
Stefan