2017-05-25 31 views
0

我已經使用install.bat(分別來自jcl和jvcl文件夾)安裝了最新的Jedi VCL for Delphi(JVCL 3.49),沒有錯誤。問題是,當我運行Delphi 2010時,我在jvcl bpls中遇到了很多關於無效入口點的錯誤。程序入口點在JVCL(jclsysinfo)中無效

entry point invalid @[email protected]$qqrri in JvCore140.pbl

我得到這個錯誤在所有合資企業* .bpl文件,並總是以相同的入口點。

我檢查過我沒有舊的jcl/jvcl文件或jv * .bpl/jc * .bpl文件。我不知道如何解決這個問題。任何消化?

+0

不知道爲什麼這會得到-1,幾乎每次我安裝了Jedi的東西,我遇到了這個問題或像缺少.Inc和.Res文件的問題。您是否嘗試過手動編譯.Dpk文件,尤其是JvCore140的文件? – MartynA

+0

我很想知道。爲什麼是-1 ?.無論如何,我可以毫無錯誤地手動編譯和構建所有包。但是當我試圖安裝其中的任何一個時,我得到這個錯誤。所有JCL包安裝良好。問題只在於使用JVCL包。 – briast

+0

您提到安裝JVCL,但是您提到的錯誤是關於JCL無效的入口點。在最新版本的JCL中安裝它,並確保在安裝JVCL之前沒有舊版本的剩餘部分。另外FWIW你鏈接到的源代碼就像超古老 - 它現在在github上:https://github.com/project-jedi –

回答

0

在編譯Delphi中的包時(如JCL和JVCL所做的那樣)在編譯時需要其他包,編譯器將dcp文件用於所需包而不是這些包的bpl文件。

例如,在一些RTL包中,JvCore.dpkJclJclVcl在其所需的子句中有。這意味着編譯時需要Jcl.dcpJclVcl.dcp來獲取所需的過程/類位於bpl中的信息。

這些dcp文件是大多數時間(除非指定不同 - 請參閱下一段)位於DCP文件夾中,該文件夾緊鄰BPL文件夾。

如果它使用的dcp與它在加載時發現的bpl不兼容,將會得到這些錯誤。確保編譯器可以找到的任何位置都沒有舊的bpl dcp文件。在JCL設置中,您可以指定JVC設置將它們放到與dcu文件相同的目錄中的位置。

此外,如果您安裝了不同的Delphi版本,它可能會變得更糟,因爲通常dcp文件沒有後綴。如果它把這些發生的目錄置於PATH變量中,可能會發現錯誤的版本。但是,Delphi安裝不會將DCP目錄放入PATH中,而只是將BPL目錄放入PATH中。

0

(當我寫這篇文章的時候,Stefan Glienke發佈了一個答案,裏面有更多有用的信息,但是我會發布它,因爲如果你只對一個Delphi感興趣,很容易測試版本)

我不確定以下內容是否適用於您,因爲我沒有安裝D2010 進行測試。您可以通過 檢查出來很快只使用一個.Dpk文件在第4步

注意,我總是設置輸出路徑,BPL, DCP和DCU文件下的德爾福版本的一個文件夾LIB2嘗試它安裝夾。 這種方式我知道他們都在哪裏,所以如果出現問題 錯誤,整理起來會更容易。

  1. 我卸載了JCL和JVCL和刪除所有的合資企業* .BPL,.DCP和 .DCU文件

  2. 我跑了JCL安裝.bat和忽略所有提示添加文件夾到 這個系統PATH,因爲我的Lib2文件夾已經在PATH上了。

  3. 在我的Delphi版JVCL \ Packages下的文件夾中,我編輯了所有的 。Dpk文件使用我的Lib2文件夾作爲BPL,DCP和DCU輸出文件。這是 有點乏味,但只需要做一次,可以通過使用鍵盤宏做 變得更容易。

  4. 然後,使用IDE打包工具,編譯並安裝所有名稱中包含「Design」並且想要安裝的JVCL .Dpk 文件。

他們都沒有安裝錯誤信息,你得到的。

相關問題