Forum: Programmieren allgemein
by jbg,
16. Jun 2011
Gerade die Performance-technisch unwichtigste Stelle hast zu geändert. Die anderen @Pattern in den Schleifen hast du aber stehen lassen.
Forum: Programmieren allgemein
by jbg,
16. Jun 2011
Wenn du jetzt noch aus @str ein PChar(str) machst, dann entfällt der UniqueString Aufruf, den der Compiler einstreut. Und wenn du auch noch den PCharFromUStr loswerden willst, dann kannst du PChar(Pointer(str)) machen (der PChar cast ist zwar nicht notwendig, da Pointer zuweisungskompatibel ist, aber ich schreib den zur Lesbarkeit immer hin)
Dabei musst du aber beachten, dass ein Leerstring dann...
Forum: Programmieren allgemein
by jbg,
14. Jun 2011
Du kannst auch noch einen Speicherzugriff einsparen, wenn du das FBadTable dynamische Array direkt als "array of Integer" deklarierst. Da entfällt eine Speicher-Indirektion und du brauchst keinen eigenen Konstruktor mehr.
Forum: Programmieren allgemein
by jbg,
14. Jun 2011
Hast du die Warnungen des Compiler deaktiviert? Denn "i" ist nach der Schleife undefiniert. Und nur weil der aktuelle Compiler hier die Schleife nicht optimiert, funktioniert das. Zukünfige Compiler könnten da aber schon mal Hand ansetzen. Eine C-for-Schleife muss nicht immer unbedingt in eine Pascal-for-Schleife umgewandelt werden.
Hast du auch die $STRINGCHECKS deaktiviert? Denn die fressen...