2008-11-12 122 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