но вызывается его метод AddFile, то там будет исключение.
То есть, теоретически, такое может работать, если вдруг вызываемый метод AddFile никак не использует поля экземпляра (ни сам, ни то, что он вызывает). Но на самом деле он же использует? И будет исключение при первой попытке обратиться к полям класса FileNames или Files.
Всё, понял, спасибо! Там действительно не было обращения к полям, когда они есть, то случается исключение. Но странно, что мне позволили это вообще сделать
Ну, и естественно я для такого поля должен буду потом вручную вызвать destroy?
Конечно. Всё руками. Есть, конечно, вариант с автоосвобождением через интерфейсы. Но это не вполне стиль Delphi, в любом случае, это сложнее, не стоит с этого начинать.
не вызывай Destroy, вызывай Free
Обсуждают сегодня