Einzelnen Beitrag anzeigen

Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: schnelleres StringReplace und MultiStringReplace

  Alt 7. Jun 2010, 22:44
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
Stefan

Geändert von GPRSNerd ( 8. Jun 2010 um 21:59 Uhr) Grund: Details zur Exception hinzugefügt
  Mit Zitat antworten Zitat