Неиспользуемая ссылка на интерфейс не уничтожается

В моем приложении возникла еще одна ошибка, вызванная неосторожным использованием интерфейсов Delphi. Когда я передаю интерфейс процедуре, которая игнорирует этот аргумент, экземпляр никогда не освобождается. См. Следующий простой пример: Можете ли вы дать какой-либо передовой опыт / руководство (например, «Никогда не создавайте интерфейс с интерфейсом внутри вызова функции [если вы не знаете, что происходит внутри]»).

Лучшее решение, которое я могу придумать для этого примера, - написать шаблонный метод в классе Base, который сохраняет пройденный тестовый экземпляр и вызывает абстрактный метод DoUseTestOrNot .

EDIT Delphi 2010

7
задан Jeroen Wiert Pluimers 13 January 2011 в 23:27
поделиться