Этот пост является расширенным комментарием к посту Александра Алексеева.
Краткое описание проблемы
Если Вы практикующий программист Delphi, то наверняка сталкивались с проблемой, когда разные проекты работают с некоторой библиотекой (pas-модуль, unit), но каждое приложение работает со своей версией этой библиотеки. Такое часто бывает, когда приложение ссылается на заголовочные файлы GDI+, Direct X или другие модули, портированные в паскаль из C/C++ (бывает так, что одно приложение использует один “порт”, а другое – альтернативный, и эти версии не совместимы между собой). Редко, но бывает и так, что новая версия какого-нибудь, например, XML-парсера не совместима с предыдущей его версией.
Чаще встречается проблема по-сложнее: одно приложение использует одну версию набора компонент, а другое приложение – следующую версию того же набора компонент, не совместимого с предыдущей версией.