Hallo,
ich würde gerne eine Stringliste als Ergebnis einer function() zurückerhalten und ausgeben.
Das Formular hat 2 Memos und 1 Edit.
In der function werden beispielhaft erstmal nur die beiden Strings aneinandergehängt.
Erst hat Delphi gemeckert, weil der Zugriff bei der Übergabe an Result in der Funktion oder dann im Button bei der Zuweisung an Zielliste nicht möglich war, (ich hab wegen der Übersicht wieder v verwendet; dürfte aber wegen assign() egal sein)
aktuell crasht es schon beim Verlassen der Buttonprozedur nach v.free.
Es ist mir ein Rätsel.
Was mach ich denn alles falsch?
Delphi-Quellcode:
function sende (sa: TStringlist; sb: TStringlist): TStringlist;
var
x : Tstringlist;
begin
x := Tstringlist.create;
x.add( sa[0] + Sb[0] );
form1.memo1.lines.Assign(x); // Testweise ausgeben - funktioniert
{ welches der folgenden beiden? }
// result := (z); geht ja auch nicht
//result.Assign(z);
x.free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
u : Tstringlist;
v : Tstringlist;
begin
u := Tstringlist.create;
v := Tstringlist.create;
u.add('Hafen');
u.add('Donau');
v.add('schiffahrt'); v.add('rundfahrt');
v := sende (u, v);
// v.Assign( sende (u, v) ); // geht irgendwie auch nicht
// memo2.lines.Assign(v); // hier gibt's nen Knall
u.free;
v.free;
end;
Angehängt: Sende.7z (126,7 KB)