Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#13

AW: Inhalt TStringList in andere TStringList kopieren

  Alt 25. Jun 2015, 12:27
Das mit Result:= TStringlist.Create ist mir ziemlich neu...
Wieder was gelernt

Wenn du nur eine 08/15 Variable zurück geben willst, wie String oder Integer, das sind keine Objekte, da musst du ja auch nicht machen. Wenn es eine String-Funktion ist, dann ist Result eben ein String. Anders sieht es aber aus wenn die Funktion ein Objekt ist. In dem Fall muss man das Objekt erst erzeugen (und den Speicher reservieren). Ohne das hast du nur eine Adresse, im Grunde ein Integer, aber keinen reservierten Speicher. Das Ergebnis ist ein Error.

Das Result.Free habe ich nicht vergessen. Das findet sich in der anderen Prozedur (siehe slResult.Free; ). Man kann Objekte auch über mehrere Prozeduren verteilen. Nur darf man nicht vergessen es frei zu geben.

Ansonsten macht AddStrings das wofür es gedacht ist: es fügt die Liste von einer TStringList an eine andere an. Man kann es aber auch zum Kopieren "missbrauchen".
  Mit Zitat antworten Zitat