Как правильно использовать object lifetime в async callback в реальном Delphi-проекте?
Что хотят услышать интервьюеры:
Практический подход: применяйте «object lifetime в async callback» в любом Delphi-коде, особенно в VCL legacy, работе с файлами, потоками, dataset, соединениями и компонентами, но держите границы ответственности.
- Не смешивайте UI, data access и бизнес-логику без необходимости.
- Продумайте ownership, обработку ошибок и rollback/cleanup.
- Проверяйте поведение в Debug и Release, особенно в legacy-коде.
Ответ:
На собеседовании: покажите, где эта тема ломается в production, а не только как она пишется в IDE.
TThread.Queue(nil, procedure begin if Assigned(Form) then ... end);