Delphi: .dcu не найден, но код работает на другом компьютере
Я работал над кодом Delphi, который работает на моем компьютере (компьютер A). Я пытаюсь выполнить тот же код на другом компьютере (компьютер B). Поэтому я пошел на тот компьютер B, получил код Delphi через SVN и попытался собрать.
Но я получил ошибку:
[Фатальная ошибка Паскаля] URoneParams.pas(7): F1026 Файл не найден: 'CRBatchMove.dcu'
Я хотел проверить, был ли этот.dcu на компьютере A. Но когда я проверял свои источники на этом компьютере A, было много.dcu, но 'CRBatchMove.dcu' не один из них.
Вы знаете:
- Как я могу решить ошибку.dcu на компьютере B?
- почему файл CRBatchMove.dcu отсутствует в файлах на компьютере A?
Большое спасибо за Вашу помощь!
РЕДАКТИРОВАТЬ 1 Большое спасибо всем за ваши быстрые ответы!
@ MBo and David:.pas также отсутствует, ищу ли я его в файлах компьютера A или в файлах компьютера B.
@ MartynA: я сделал поиск в файлах. На обоих компьютерах он возвращает URParams.pas, который использует CRBatchMove. Это хороший знак?:)
Что ты думаешь я должен сделать? Еще раз спасибо!
2 ответа
Модуль CRBatchMove является частью "Универсальных компонентов доступа к данным" от DevArt.
Вы также должны установить эти компоненты на целевой компьютер. Обратите внимание, что это коммерческое программное обеспечение, поэтому вам нужна действующая лицензия для установки и использования компонента на нескольких компьютерах и с несколькими людьми.
При установке компонентов они распространяются в виде пакетов (*.bpl
файлы). Пакет может содержать несколько скомпилированных блоков. Вот почему вы не найдете CRBatchMove.dcu
файл. Он содержится внутри dac*.bpl
(или аналогичный) файл.
Единственное объяснение, которое я могу придумать для этого, - это если ваш проект настроен на использование пакетов времени выполнения, а код CRBatchMove скомпилирован в один из пакетов времени выполнения, от которого зависит ваш проект. Если это так, попробуйте скопировать пакет (ы) (файлы.Bpl), от которого зависит ваш проект, на компьютер B, предполагая, что ваша лицензия на.Bpls позволяет это сделать.
Если ваш проект является автономным приложением, то даже если вы сможете найти файл.Bpl, содержащий код CRBatchMove, копирование его на компьютер B не поможет вам скомпилировать проект на компьютере B, поскольку компилятор Delphi не может извлечь код из.Bpl, чтобы скомпилировать его в свой проект. Причина, по которой существует разница между этим и использованием пакетов run-tome, заключается в том, что когда CRBatchMove находится в одном из пакетов, компилятору не нужно генерировать свой код для включения в ваш проект, а только код для вызова кода CRBatchMove во время выполнения. пакет