Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.221.112.220] |
|
Сообщ.
#1
,
|
|
|
Решение в случае ошибок компиляции пакетов типа: Missing unit 'Proxies.pas' и Missing DsgnIntf.pas
1) Сначала заменить uses DsgnIntf; на uses DesignIntf, DesignEditors; 2) Затем Добавить DesignIde.dcp в лист требуемых модулей Взято с сайта http://www.delphifaq.com |
Сообщ.
#2
,
|
|
|
Переименование модулей не решит проблемы 'Proxies.pas' Эта проблема возкает из-за того, что сами компоненты и редакторы свойств помещают в один пакет.
Это нехорошо, но в D5 и ниже проходило, а начиная с D6 уже не проходит. Пакет разбиваете на два: run-time и design-time. RT-пакет содержит ТОЛЬКО код самих компонентов и больше НИЧЕГО. Ни один его модуль не должен ссылаться в uses ни на один модуль DT-пакета. В его секции Requires могут содержаться ТОЛЬКО run-time модули VCL. Компилируется RT-пакет в любой каталог, доступный через пути поиска IDE, либо через переменную системного окружения Path. Инсталлировать в IDE его не нужно. DT-пакет содержит процедуру Register, иконки компонентов и все design-time редакторы (свойств и компонентов), если такие есть. Любой его модуль может ссылаться в uses на любой модуль из RT-пакета. В его секцию Requires и подключается DesignIDE.dcp. Компилируется он куда угодно и должен инсталлироваться в IDE. Таким образом, в конечные приложения будут подключаться только модули RT-пакета, в которых нет ссылок на DesignEditors - а тогда не потребуется и Proxies. Кроме того, в конечный проект не будут подтягиваться ненужные в run-time код и ресурсы из DT-пакета. Отвечал Юрий Зотов |