Delphi TTaskbar不兼容?

Delphi TTaskbar不兼容?,delphi,taskbar,delphi-xe8,Delphi,Taskbar,Delphi Xe8,在正常的Delphi XE8 VCL表单应用程序中,在表单上放置TTaskbar组件后,在程序启动时,始终会显示两次以下错误消息框: 表单上没有其他组件,因此我认为这是内部不兼容 在这个测试项目中,我对TTaskbar组件不做任何处理,它只是放在表单上 奇怪的是:它在程序启动时工作了大约一天,没有错误消息。现在,即使在没有其他组件的新VCL表单项目中,该错误消息也总是在程序启动时显示 这一错误的原因可能是什么?这可能是组件中的错误吗 编辑:现在这很奇怪:当我在运行时在按钮单击事件中创建任务栏组

在正常的Delphi XE8 VCL表单应用程序中,在表单上放置
TTaskbar
组件后,在程序启动时,始终会显示两次以下错误消息框:

表单上没有其他组件,因此我认为这是内部不兼容

在这个测试项目中,我对TTaskbar组件不做任何处理,它只是放在表单上

奇怪的是:它在程序启动时工作了大约一天,没有错误消息。现在,即使在没有其他组件的新VCL表单项目中,该错误消息也总是在程序启动时显示

这一错误的原因可能是什么?这可能是组件中的错误吗

编辑:现在这很奇怪:当我在运行时在按钮单击事件中创建任务栏组件时,不会显示错误消息,并且TTaskbar属性工作正常:

var
  Taskbar1: TTaskbar;

procedure TForm1.btn1Click(Sender: TObject);
begin
  Taskbar1 := TTaskbar.Create(Self);

  with Taskbar1 do
  begin
    Name := 'Taskbar1';
    //TaskBarButtons := <>; // ??
    TabProperties := [];
    ProgressState := TTaskBarProgressState.Normal;
    ProgressMaxValue := 5;
    ProgressValue := 2; // works well
  end;
end;
这是表单仍然不可见时显示的第一条错误消息:


其他两条错误消息与上面的第一个屏幕截图相同,在表单可见时显示。

TTaskBar
中有很多错误和设计缺陷。我强烈建议您不要使用它,而是使用
CoCreateInstance(CLSID\u TaskbarList)
直接访问
ITaskbarList…
接口。是的,该组件只是垃圾。不要用它。COM接口并不是很难使用。FWIW:还有其他类似的包装器。注:我从未真正使用过。这是否意味着建议不要信任Embarcadero的组件?您如何评价Embarcadero组件的整体质量?@user它有所不同。根据各自的情况处理每个案例。这个组件显然是垃圾。其他人工作得很好。我的猜测是,它是如何在最近添加的。平均而言,最近添加的组件的质量低于旧组件。我认为Emba的VCL开发人员的质量已经下降。
TTaskBar
有很多缺陷和设计缺陷。我强烈建议您不要使用它,而是使用
CoCreateInstance(CLSID\u TaskbarList)
直接访问
ITaskbarList…
接口。是的,该组件只是垃圾。不要用它。COM接口并不是很难使用。FWIW:还有其他类似的包装器。注:我从未真正使用过。这是否意味着建议不要信任Embarcadero的组件?您如何评价Embarcadero组件的整体质量?@user它有所不同。根据各自的情况处理每个案例。这个组件显然是垃圾。其他人工作得很好。我的猜测是,它是如何在最近添加的。平均而言,最近添加的组件的质量低于旧组件。我认为Emba的VCL开发人员的质量下降了。
procedure TForm1.FormCreate(Sender: TObject);
begin
  Taskbar1 := TTaskbar.Create(Self);

  with Taskbar1 do
  begin
    Name := 'Taskbar1';
    //TaskBarButtons := <>; // ??
    TabProperties := [];
  end;
end;