Ад зависимостей пользовательских компонентов

Я пытаюсь сделать пакет для пользовательского компонента, который я сделал. Он основан на нескольких библиотеках, включая Graphics32, GraphicEx и CCR.Exif.

Я создал проект Package, написал модуль, включая его процедуру регистрации, добавил несколько дополнительных ссылок, о которых мне сообщила Delphi, в раздел require(включая dbrtl.dcp, inet.dcp , soaprtl.dcp, vclimg.dcp, xmlrtl.dcp и dclGraphicEx140.dcp) и добавил много модулей в раздел contains, чтобы избежать предупреждений о том, что это происходит неявно. Проект компилируется и может быть установлен и использован на моей машине без проблем. Однако, когда я хочу установить его на другую машину, начинаются проблемы. В конце концов, мне пришлось скопировать все DCU из всех сторонних компонентов, которые я использовал, а также DCP и BPL из GraphicEx, которые мне даже пришлось установить.

Предоставление большого количества файлов — неприятный момент, но преодолимый, но необходимость установки других пакетов также не годится.Я мог бы избавиться от этих DCP и BPL, поместив еще больше модулей в секцию contains, но это привело к сообщениям об ошибках на моей собственной машине, где на самом деле установлен GraphicEx. Меня это смущает, потому что с Graphics32 ничего подобного не происходит...

В любом случае, как мне свести дистрибутив к минимуму и избежать подобных ситуаций? Я хочу, чтобы другие разработчики в моей команде могли использовать пакет, не беспокоясь о том, что я использовал для его сборки. Для начала, нельзя ли собрать все сторонние модули в мой собственный DCU?

10
задан Mike Lischke 9 March 2014 в 17:30
поделиться