Hallo,
Ich möchte gerne einen Inhalt dynamisch zurückgeben, da meine Funktion mehrere Ausgaben haben soll (werden mittels Thread verarbeitet, was dann die Übergabe eines Pointers verlange). U.a. möchte ich gerne, dass eine Dateienliste übergeben wird.
Meine Typen sind:
Type
Teinedatei=record
Url:string;
Bla:integer;
...
End;
Tdateien:Array of Teinedatei;
Tdateienpointer:^Tdateien;
In einer Procedure wollte ich dann gerne die Länge festlegen und die Daten einfügen. Das funktioniert aber nicht
Procedure setzen(p:pointer);
Begin
... // Berechnung etc.
Setlength(Tdateien(p),1); //geht nicht
Setlength(p,1); // geht auch nicht
Tdateien(p)[0].url:='123'; //geht natürlich nicht
End;
Aufruf mittels:
var dateien:Tdateien;
Begin
Setzen (@dateien);
Showmessage (dateien[0].url);
End;
Wie ist dafür die richtige Syntax? Denn für einen "normalen" Pointer (Teinedateipointer) funktioniert das. Geht das wegen dem dynamischen Array garnicht, oder gibt ist dort Kniffe wie ich das machen kann?
Vielen Dank schonmal für eure Hilfe!!