Einzelnen Beitrag anzeigen

Lasse2002

Registriert seit: 29. Nov 2004
79 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: StringReplace in Delphi 2009

  Alt 22. Okt 2008, 14:23
Die Namensgebung ist jetzt vielleicht etwas ungewohnt, aber wenn man sich es genau überlegt macht es schon Sinn. Weil sonst müßte man alle Ansi-Funktionen gegen Wide-Funktionen austauschen. Das würde gemeinsamen Quellcode mit älteren Delphiversionen und die Portierung nach Unicode ziemlich aufwändig machen.

Viele Ansifunktionen haben übrigens auch in früheren Versionen schon intern mit Unicode gearbeitet. Bisher hat z.B. AnsiUpperCase die Windows Funktion CharUpperBuffA aufgerufen. CharUpperBuffA hat dann den String erst mal nach Unicode konvertiert, dann in Großbuchstaben umgewandelt, und dann zurück nach Ansi konvertiert. Somit ist AnsiUpperCase in Delphi 2009 schneller geworden, und der Speicherverbrauch gesunken, da die Strings nicht mehr von Ansi nach Unicode konvertiert werden müssen. Anmerkung: Da Win9x keine Unicodeunterstützung mitliefert, verhält sich CharUpperBuffA dort vermutlich anders.

Vielleicht hat ja jemand mal Lust genauer zu untersuchen, wie sich Verwendung von Windows Ansi Funktionen auf die Fragmentierung des Heaps auswirkt.
Lasse
  Mit Zitat antworten Zitat