Einzelnen Beitrag anzeigen

Benutzerbild von JanWe
JanWe

Registriert seit: 23. Mär 2015
Ort: NRW
78 Beiträge
 
Delphi 7 Personal
 
#1

TStringlist von function() zurückgeben - nicht möglich?

  Alt 10. Mai 2022, 16:50
Delphi-Version: 5
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)
Miniaturansicht angehängter Grafiken
buttx.jpg  
Angehängte Dateien
Dateityp: 7z Sende.7z (126,7 KB, 1x aufgerufen)
Jan
Allen demnächst ein gutes 2023!

Geändert von JanWe (10. Mai 2022 um 17:01 Uhr)
  Mit Zitat antworten Zitat