Нужно ли мне освобождать эти объекты?
Я использую Delphi 1 16-bit, чтобы узнать Pascal (не смейтесь, он отлично работает, плюс я не могу позволить себе более новую версию). Я использую TList для хранения ссылок на объекты для простой адресной книги. Каждый объект добавляется к TList следующим образом:
DataList.Add(TAddrBookData.Create('Bob', '1 Mill St'));
Нужно ли мне самостоятельно создавать объекты TAddrBookData? Или они освобождаются при запуске TList.Free?
Ответы
Ответ 1
Вам нужно освободить их самостоятельно. Более поздние версии поставляются с TObjectList, который похож на TList, за исключением того, что он будет принимать только объекты, и у него есть возможность взять собственность и бесплатно освободить их для вас автоматически, когда список будет освобожден. Но я не считаю, что TObjectList существовал в Delphi 1, поэтому вам придется позаботиться об этом вручную.
Ответ 2
Вам также нужно будет освободить (или FreeAndNil).
Если вы хотите узнать Object Pascal (Delphi) с более новой (и свободной) IDE, попробуйте Lazarus в качестве бесплатного Turbo Delphi 2006 год был прекращен (какой плохой ход).