Jam*_*fer 0 delphi pascal identifier apache-synapse
我正在使用Delphi项目中的Synapse库来进行一些网络连接.
当我尝试使用外部单元中定义的类型之一时,即:'TTCPBlockSocket',它有红色下划线并显示"Undeclared Identifier'TTCPBlockSocket'".
这些文件都在正确的文件夹中,'uses'语句可以找到它们并显示没有错误.
奇怪的是,我在另一个项目中有相同的设置,并且该项目中没有错误.
注意:我无法安装/编辑软件/设置,因此我无法添加任何修复程序.
这是Error Insight中一个众所周知的错误.自从Error Insight首次在Delphi 2005或2006中引入以来,它已存在,并且至今仍存在于Delphi XE5中.
它是由用于Error Insight的不同编译器引起的,显然,它无法访问Code Insight编译器使用的相同符号集(帮助您在代码编辑器中查找符号的符号集)或命令行编译器(用于实际编译应用程序或包的代码的那个).因此,它仅使用项目(.dpr)文件中实际引用的文件来查找符号,并且由于代码中uses子句中的大多数文件不在.dpr中,因此无法找到它们.
有两个修复(一个非常容易,一个有效,但背面有痛苦):
(这很简单).完全关闭Error Insight,在Tools-> Options,Editor Options部分,Code Insight; 只需取消选中Error Insight框即可.我更喜欢这个,因为无论如何错误洞察力都无法正常工作,并且它避免了每10分钟必须使用其他选项的麻烦.当我安装新版本的IDE并看到红色下划线时,这是我做的第一件事.
(痛苦的方式).对包含一个带下划线符号的每个单元使用Project-> Add to project.这会将每个单元的引用添加到项目.dpr文件中,这会导致它的大小急剧增加.这是一种痛苦,因为你通常必须为每一个单元(根据我的经验,包括那些属于标准VCL/RTL的那些单元)做到这一点,而这些单元还没有被添加,并且很快就会变得很烦人.Ctrl+F9IMO ,错误洞察并没有告诉你任何快速不会发生的事情.
| 归档时间: |
|
| 查看次数: |
3474 次 |
| 最近记录: |