在将项目从BDS 2006转换为Delphi 2009之后,我试图摆脱项目中的大量警告。
项目需要一个名为MSHTML_TLB的类型库。源文件mshtml_tlb.pas是一个非常大的文件(大约16MB和> 440.000行代码),它是在将类型库导入Delphi 2009时生成的。
此文件在构建项目时会产生许多警告:
W1010 Method 'ToString' hides virtual method of base type 'TObject'
由于Delphi本身已经创建了该文件,我想知道为什么会出现这些警告以及我是否应该忽略它们? 如果是这样,有没有办法只为这个文件禁用这种警告?
答案 0 :(得分:3)
Delphi在TObject中引入了这个虚方法。您在派生类中声明ToString不使用override,因此不再可以访问TObject的ToString方法。除非您以不同方式声明方法,否则向ToString方法添加覆盖应该可以解决问题。
答案 1 :(得分:2)
将此行写入MSHTML_TLB.pas文件的开头(粗体):
unit MSHTML_TLB; {$WARNINGS OFF}
最后:
{$WARNINGS ON} end.
答案 2 :(得分:0)
作为最后的手段,您可以隐藏警告。在Delphi 2010中,这是项目选项/ Delphi编译器/提示和警告。我认为这个特殊的警告是“符号的重新声明隐藏了基类中的成员”。
答案 3 :(得分:0)
启动Delphi。
在"组件"主工具栏中的菜单选择" 导入ActiveX控件... " 在列表框中滚动并选择" Microsoft HTML对象库"。
" 班级名称"然后应列出" TScriptlet "。
点击" 安装... ",然后点击" 确定"在" 安装"出现的表单和" Yes
"在确认提示上。