erstmal zur Theorie. Mir ist absolut bewusst dass man ein Array nicht als Result übergeben kann, einen Typ allerdings schon. Das folgende ist möglich:
Code: Alles auswählen
type
TIntArray = array of Integer;
...
function a: TIntArray;
Jetzt zu meinem Problem: Ich habe eine Klasse, welche sich selbst enthalten kann und möchte dies als Funktionsergebnis angeben. Hier mal zur Veranschaulichung ein Beispiel:
Code: Alles auswählen
type
TMyClass = class
private
FItems: array of TMyClass;
public
function GetItems(OtherInformations: String): array of TMyClass;
end;
Ich habe schon folgende Ideen gehabt/folgendes probiert:
1. TObjectArray = array of TObject (bzw die Elternklasse, wenn es nicht direkt TObject ist) stattdessen zu nehmen, wobei ich diese Möglichkeit als nicht schön finde und ein rekursives Ausgeben der Items durch casten umständlich gemacht wird. Sollte es keine Lösung für dieses Problem geben werde ich es eben so machen.
2. TArray spezialisieren, wobei das nicht funktioniert da ich ja auch erst einen Typ erstellen muss.
Habt ihr irgendwelche Ideen?