Nja, da könnte man auch direkt Assembler schreiben, wenn man die vorhandenen einfacheren Lösungen nicht nimmt.
Ich gebe Dir vollkommen Recht, aber auch mich hatte es mal interessiert wie die WindowsAPI so funktioniert.
Die lokalen TStrArr sollten doch auch im FPC zu Beginn immer Length 0 sein und am Ende auch automatisch freigegeben werden, oder nicht?
Bei Rekursion sollte es schon auf 0 gesetzt sein sonst gibt es Fehler. Den rest meiner SetLength(0) dinge kann man bestimmt drauf verzichten.
Ursprünglich wollte ich eine stringlist nehmen aber fpc hat da eine macke mit der ich nicht zurecht gekommen bin, deshalb der umweg über was eigenes
die macke ist das hier:
Delphi-Quellcode:
if ((StringList = nil) or (not Assigned(StringList))) then
StringList := TStringList.Create.
in fpc kann man nicht prüfen, aber das ist ein völlig anderes thema.
//edit
und hey, du kennst das doch bestimmt auch, wenn etwas neues genau so funktioniert wie du es erhofft hast, dann ist man stolz und mag sein werk zeigen