Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Функция типа TStringList


Автор: MishaVinogradov 25.3.2005, 00:17
Как написать функцию, возвращающую TStringList. По идее компилятор должен создавать как бы глобальную переменную типа TStringList. Но, увы, при вызове происходит ошибка.

Неужели выход только в том, чтобы создавать в вызывающей программе переменную типа TStringList и передавать ее в качестве параметра.
Использовать классы вроде бы тоже неудобно (создавай, потом удаляй - как и переменную-параметр) как быть, неужели функции в Delphi могут возвращать только простые типы. smile


Код

function MyList:TStringList;
var i:Integer;
begin
  for i:=1 to 3 do
    result.Append(IntToStr(i));
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
//  my.Create;
try
  Memo1.Lines.Assign(MyList);
finally
//  my.Free;
end;
end;


Автор: s-mike 25.3.2005, 00:19
А создавать перед возвратом кто будет?
Код

function MyList:TStringList;
var i:Integer;
begin
  Result := TStringList.Create;
  for i:=1 to 3 do
    result.Append(IntToStr(i));
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)