3

从 Delphi 10.0 Seattle 开始,Embarcadero 改变了TWebBrowser控件的实现:

西雅图前:TWebBrowser = class(TOleControl)

西雅图+:TWebBrowser = class(TOleControl, IDocHostUIHandler, IDocHostShowUI, IOleCommandTarget)

我有一些旧代码在运行,我已经实现了一个可以注册为客户端站点/主机的类TWebBrowser,我提供了我自己的IDocHostUIHandler接口实现。

由于 aTWebBrowser现在从一开始就实现了这些(并保持私有)并且据我所知很难继承 - 我如何着手让新TWebBrowser组件重新注册在哪里可以找到实现IDocHostUIHandler

4

1 回答 1

6

您可以像以前一样从 TWebBrowser 继承并提供自己的接口定义,如下所示:

Type
  TMyWebBrower = class( TWebBrowser, IDocHostUIHandler )
  ...
  end;

这告诉 Delphi 您正在重新实现 IDocHostUIHandler 接口。您必须为接口提供所有功能,但您已经拥有了。

于 2016-08-03T11:21:19.507 回答