为什么MSHTML_TLB.pas会产生警告?

时间:2010-02-12 18:50:52

标签: delphi delphi-2009 typelib

在将项目从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本身已经创建了该文件,我想知道为什么会出现这些警告以及我是否应该忽略它们? 如果是这样,有没有办法只为这个文件禁用这种警告?

4 个答案:

答案 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"在确认提示上。