Для меня это означает, что если все ваши пакеты, dll и исполняемые файлы скомпилированы с ShareMM, должна быть возможность заменить менеджер памяти Delphi 7s по умолчанию.
{----------------------- Менеджер памяти
разделение
Опции ------------------------}
{Разрешить совместное использование менеджера памяти
между основным приложением и DLL
которые также были скомпилированы с FastMM.
Это позволяет передавать динамические массивы
и длинные строки в функции DLL
при условии, что оба скомпилированы для использования
FastMM. Обмен будет работать только если
библиотека, которая должна делиться
менеджер памяти был скомпилирован с
Параметр «AttemptToUseSharedMM» установлен.
Обратите внимание, что если основное приложение
однопоточный и DLL
многопоточный, что вы должны установить
переменная IsMultiThread в основной
приложение к истине, или оно потерпит крах
когда возникает конфликт потоков. Заметка
что статически связанные файлы DLL
инициализируется перед основным
приложение, поэтому основное приложение
вполне может в конечном итоге разделить статически
загружен менеджер памяти DLL, а не
наоборот. }
{. $ Define ShareMM}
{Разрешить совместное использование менеджера памяти
DLL с другими DLL (или основной
приложение, если это статически
загружен DLL), которые также были скомпилированы
с FastMM. Установите эту опцию с
заботиться о динамически загружаемых DLL,
потому что если DLL, которая разделяет
его ММ выгружается и любая другая DLL
все еще разделяет ММ, то
приложение вылетит. Эта настройка
актуально только для библиотек DLL
и требует, чтобы ShareMM также был установлен в
иметь какой-либо эффект. Делиться будет только
работать, если библиотека, которая должна
поделиться диспетчером памяти было
составлено с
Параметр «AttemptToUseSharedMM» установлен.
Обратите внимание, что если DLL статически
связаны, то они будут инициализированы
перед основным применением и
тогда DLL на самом деле поделится своим ММ
с основным приложением. это
опция не действует, если ShareMM не
также установлен.}
{. $ Define ShareMMIfLibrary}
{Определите это, чтобы попытаться поделиться
ММ основного приложения или другой
загруженные библиотеки DLL в том же процессе, что
были скомпилированы с набором ShareMM. когда
разделять диспетчер памяти, память
утечек, вызванных разделителем, не будет
освобождается автоматически Принять в
учетная запись, что статически связанные библиотеки DLL
инициализируются перед основным
приложение, поэтому установите общий доступ
варианты соответственно.}
{. $ Define AttemptToUseSharedMM}
{Определите это, чтобы включить в обратном направлении
совместимость для менеджера памяти
механизм совместного использования, используемый Delphi 2006
и 2007, а также более старый FastMM
версии.}
{$ DEFINE
EnableBackwardCompatibleMMSharing}