簡體   English   中英

Delphi:找不到.dcu,但是代碼可在另一台計算機上工作

[英]Delphi : .dcu not found, but code works on another computer

我一直在研究Delphi代碼,該代碼可在我的計算機(計算機A)上使用。 我正在另一台計算機(計算機B)上執行相同的代碼。 所以我去了那台計算機B,通過SVN獲得了Delphi代碼,並嘗試構建。

但是我得到了錯誤:

[Pascal致命錯誤] URoneParams.pas(7):F1026找不到文件:'CRBatchMove.dcu'

我想檢查計算機A上是否存在.dcu。但是,當我在計算機A上檢查源代碼時,有很多.dcu,但“ CRBatchMove.dcu”不是其中之一。

你知道嗎 :

  • 如何解決計算機B上的.dcu錯誤?
  • 為什么計算機A的文件中沒有CRBatchMove.dcu?

非常感謝您的幫助!

編輯1非常感謝大家的快速回答!

@ MBo和David :.pas也不存在,無論我是在計算機A的文件中還是在計算機B的文件中查找它。

@ MartynA :我確實在“文件”中進行過搜索。 在兩台計算機上,它都返回URParams.pas,它確實使用CRBatchMove。 這是一個好兆頭嗎? :)

你覺得我該怎么做? 再次感謝你!

CRBatchMove單元是DevArt的“通用數據訪問組件”的一部分

您還必須在目標計算機上安裝這些組件。 請注意,這是商業軟件,因此您需要有效的許可才能在多台計算機上並由多人安裝和使用該組件。

安裝組件時,它們作為軟件包( *.bpl文件)分發。 一個包可以包含多個編譯單元。 這就是為什么找不到CRBatchMove.dcu文件的原因。 它包含在dac*.bpl (或類似文件)文件中。

我能想到的唯一解釋是,如果您的項目設置為使用運行時程序包,而CRBatchMove的代碼已編譯為項目所依賴的運行時程序包之一。 如果是這種情況,請嘗試將您的項目所依賴的軟件包(.Bpl文件)復制到計算機B上,前提是您的.Bpls許可證允許這樣做。

如果您的項目是一個獨立的應用程序,則即使您找到一個包含CRBatchMove代碼的.Bpl文件,將其復制到計算機B也不會幫助您在計算機B中編譯項目,因為Delphi編譯器無法提取代碼從.Bpl編譯為您的項目。 這與使用run-tome軟件包之間存在差異的原因是,當CRBatchMove位於其中一個軟件包中時,編譯器不需要生成其代碼以包含在您的項目中,只需在運行時調用CRBatchMove代碼即可時間包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM