Delphi-Quellcode:
procedure foo2(const list:Tstringlist);
begin
//hier kann man alles der Liste ändern
list.add('0');
list.add('2');
list.add('');
list.add('Ende');
end;
procedure foo1(p:pointer);
var b:array of string;
begin
//!!!hier nicht die Größe des arrays ändern!!!
b:=p;
b[0]:='0';
b[1]:='2';
b[9]:='Ende';
end;
procedure TForm1.Button1Click(Sender: TObject);
var a:array of string;
i:integer;
list:Tstringlist;
begin
//Beispiel mit array of string
setlength(a,10);
for i:=0 to 9 do a[i]:='';
foo1(a);
for i:=0 to 9 do memo1.Lines.Add(a[i]);
finalize(a);
memo1.lines.add('------------');
//Beispiel mit Tstringlist
list:=Tstringlist.Create;
try
foo2(list);
memo1.lines.addstrings(list);
finally
list.free;
end;
end;
Ich würde dir die TStringlist-Variante empfehlen. Die ist genau dafür gemacht. Ausserdem kann man mit einer StringList noch viel mehr machen (siehe: insert, move, delete, addstrings) und zugreifen kannst du damit auch, wie auf ein array "s:=list[1]"
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.