Классы - это такая фиготень, которая располагается только в heap-е, обладает счетчиком ссылок, обнуление которого и есть причина для удаления. Которое происходит сразу же, без раздумья
В общем, ref-counting, вместо сборки мусора. Классы в локальных переменных отслеживаются корректно - уничтожаются (в смысле - уменьшается счетчик ссылок) по выходу. Даже если мимо пролетает исключение (за возможность которого ты ни сном ни духом) - перехватит, и обработает (та еще история, между прочим...)

У объекта - нифига такого нет. Просто синтаксически обагащенная структура данных (не ну vmt у нее конечно есть...). Все на ответственность программиста. Чтобы не расслаблялись

> -- Александр Ильин писал(а):
> ключевое слово property поддерживается только для class'овНеправда Ваша.
Весь KOL собран на Object, а уж сколько там property - и не сосчитаешь. Собственно, использовние property - ключевая фишка в KOL.
Установил какой-нибудь Align := caLeft - и к обработчику сообщений пристегивается килобайтный хэндлер (скажем AlignChildrenProc). Что значит пристегивается - это труд обработчика property для объекта TControl, определенного в KOL.
Ну и если никогда в твоем коде нет установок этого свойства - твой код будет на килобайт легче (магическое слово AlignChildrenProc нигде твоим кодом не цепляется)
Это главный смысл KOL-а. Реализованный на объектах у который куча всяких property