Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
W1000符号';THintInfo';Delphi XE4中是否存在不推荐使用的编译器警告_Delphi_Delphi 7_Delphi Xe4 - Fatal编程技术网

W1000符号';THintInfo';Delphi XE4中是否存在不推荐使用的编译器警告

W1000符号';THintInfo';Delphi XE4中是否存在不推荐使用的编译器警告,delphi,delphi-7,delphi-xe4,Delphi,Delphi 7,Delphi Xe4,在我的Delphi7代码中,声明了以下过程 procedure MyProcedure(var HintInfo: THintInfo); 将其迁移到Delphi XE4时,编译器抛出以下警告: W1000 Symbol 'THintInfo' is deprecated: 'Use Vcl.Controls.THintInfo' 我在谷歌上搜索并在 这是正确的还是有任何有效的方法可以做到这一点 我已经在我的使用中添加了控件单元 发生的情况是,类型的定义已从表单移动到控件。Embarcade

在我的Delphi7代码中,声明了以下过程

procedure MyProcedure(var HintInfo: THintInfo);
将其迁移到Delphi XE4时,编译器抛出以下警告:

W1000 Symbol 'THintInfo' is deprecated: 'Use Vcl.Controls.THintInfo'
我在谷歌上搜索并在

这是正确的还是有任何有效的方法可以做到这一点


我已经在我的
使用中添加了
控件
单元

发生的情况是,类型的定义已从表单移动到控件。Embarcadero在表单单元中留下了一个定义,该定义引用了控件中的真实定义,并将表单中的该定义标记为已弃用

编译器警告告诉您要执行的操作,它显示:

Use Vcl.Controls.THintInfo
现在,由于您要导入控件而不是Vcl.Controls,利用您定义的单元作用域名称,因此需要将此符号命名为

Controls.THintInfo


就我个人而言,我更希望Embarcadero在将定义转移到控件时将其从表单中删除。他们不喜欢在升级时破坏编译,但谁导入表单而不是控件?相反,每个人都必须面对反对的警告,并不得不处理它。我相信Embarcadero选择的路径对用户的影响比简单地移动声明更大。

使用的
部分从
控件、表单
更改为
表单、控件
将是一个肮脏的工作区。更好地使用控件。THintInfo。
Controls.THintInfo