Garbage Collector для Delphi

Несколько лет назад решил попробовать создать Garbage Collector (далее GC) в Delphi, опираясь на богатую на возможности RTTI. Что нужно для работы GC? Один из подходов — обходить все объекты и определять, какие еще используются программой. Сначала все объекты помечаются как неиспользуемые. Затем помечаем объекты, которые находятся в стэке и области глобальных переменных, как используемые. […]

Автоматическое управление временем жизни объектов в Delphi

Garbage Collector для Delphi? Да! Но с некоторыми ограничениями. Предисловие Из-за необходимости создать приложение под Android мне пришлось писать на Java. Обычно я пишу на Delphi, причем довольно старом (зато лицензионном). И одно из отличий в написании кода на этих языках станет предметом этой статьи. Я создаю объекты в Java, почти не задумываясь, что с […]

Local Pool для объектов

Анализируя исходный собственных программ, коих за годы накопилось не мало, я заметил что большое количество объектов живут в пределах вызова функции (процедуры, метода). Но при этом для каждого объекта нужно написать свой блок try finally. Если объектов много, все эти вложенные друг в друга try finally сильно засоряют код. Пример функции отправки файла по протоколу […]