genau, der Auffassung war ich bisher auch immer, auch wenn ich mich nicht immer dran halte
Aber es gibt noch ne Möglichkeit. Ich denke mal, n ist bei dir nicht zu groß. Und da du alle Kombinationen durchprobieren willst, sollte die Rekursionstiefe auch höchstens n sein. Das heisst, du brauchst eigentlich nur n verschiedenen TObjectlisten.
Erstell dir dann doch ein Array of TObjectlist der Länge n. (Das natürlich global, nicht lokal in der Procedur)
Welche list du gerade bearbeiten kannst, hängt von der jeweilige Rekursionstufe ab, in der du grade bist. Die kannst du einfach mitspeichern mit
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure rekursiv; begin ... inc(tiefenzaehler); rekursiv; dec(tiefenzaehler); ... end; |
Wenn es damit immer noch zu Speicherproblemen kommt, dann liegt der Fehler ganz wo anders. Zum Beispiel, wenn du in der rek. Prozedur auch Objekte für die Liste erstellst: Die Liste mag ja meinetwegen weg sein, aber die Objekte bleiben auf jeden Fall (sonst würde MEIN aktuelles Projekt nicht klappen

)
We are, we were and will not be.