2008-11-12 124 views
8

,我發現了錯誤:wintypes.dcu沒有發現多次在Delphi 2009年IDE一天,這個錯誤代碼完成停止工作後,也無法打開任何單元的源代碼與Ctrl +單擊,然後我必須重新打開IDE來解決它。wintypes.dcu沒有發現和代碼完成停止工作

任何人都有可能導致此問題的線索?

我安裝的唯一IDE擴展是GExperts。

回答

19

wintypes.pas和winprocs.pas已被替換爲windows.pas(因爲很長一段時間)。您應該使用「單位別名」將所有wintypes替換爲Windows。

+2

號,源修復。例如。免費的Pascal/Lazarus不支持單元別名,並且D2009代碼通常不是D1兼容的,如果僅僅是因爲unicode。殺死這隻野獸的速度是緩慢的。 – 2010-07-06 11:24:19

0

爲什麼wintypes.dcu不能被任何再發現,我不知道。但另外兩個是明顯的後續錯誤:如果Delphi由於語法錯誤而無法編譯代碼(並且缺少的文件被認爲是語法錯誤),它會停止代碼完成,並且無法再使用Ctrl + Click查找源代碼。

7

對於現在的Windows單元,您必須仍然使用古老的(Delphi 2之前的)名稱。我建議您搜索並替換所有使用列表,並用Windows替換WinType和WinProcs。

或者,您可以確保在項目選項的「單元別名」部分中具有「WinTypes = Windows」和「WinProcs = Windows」,但經過這幾十年之後,我仍然會轉向32位應用程序,位世界! (16位作爲首要的限制這意味着WinTypes和WinProcs是兩個獨立的單元。)

+2

那麼,它只是說德爾福向後兼容的音量,因爲這必須是非常古老的Delphi1代碼!我不認爲人們會想到現在將舊的MS代碼編譯到Visual Studio中......你們做得很好,Delphi開發人員被寵壞了;-) – 2008-11-12 19:54:38

1

你使用決策立方組件?因此,請在您的來源中查找有關單位MXQEDCOM.pas的參考。

2006年BDS,是Wintypes和Winprocs唯一的參考,我發現。

順便說一句,請確保股別名包括該Barry Kelly寫的值。

+0

+1,具體的例子。 – 2010-07-06 11:43:35

2

打開項目 - 選項,德爾福編譯器,到單位別名插入:

WinTypes =視窗; WinProcs =視窗; DbiProcs = BDE; DbiTypes = BDE; DbiErrs = BDE