У нас проблема с утечкой памяти, которая происходит только во время работы приложения (при закрытии приложения отчета FastMM нет).
Мы отделяем проблему от метода, который считывает значения из базы данных и создает экземпляры объектов из результата. (мы используем DBXPress для подключения к базе данных)
Класс, выполняющий работу с базой данных, реализует интерфейс. Используя тестовое приложение, которое ничего не делает, кроме запуска потока, считывающего значения из базы данных (всегда одни и те же значения), приложение в Delphi 7 не допускает утечек. Но в Delphi 2007 использованная память скачивается очень быстро. Это тот же код, то же тестовое приложение.
Когда вы проверяете приложение с помощью AQTime, вы можете видеть, что количество TStringList, TList и т. Д. (Всех объектов, используемых классом базы данных) растет и сжимается, но при проверке памяти с помощью ProExplorer и диспетчера задач Windows версия Delphi 2007 растет очень быстро. .
Мы можем только догадываться, что есть что-то другое в том, как Delphi 7 и Delphi 2007 занимаются выпуском интерфейса. Имеет ли это смысл? Кто-нибудь испытывал нечто подобное?