Delphi TTaskbar不兼容?
在正常的Delphi XE8 VCL表单应用程序中,在表单上放置Delphi TTaskbar不兼容?,delphi,taskbar,delphi-xe8,Delphi,Taskbar,Delphi Xe8,在正常的Delphi XE8 VCL表单应用程序中,在表单上放置TTaskbar组件后,在程序启动时,始终会显示两次以下错误消息框: 表单上没有其他组件,因此我认为这是内部不兼容 在这个测试项目中,我对TTaskbar组件不做任何处理,它只是放在表单上 奇怪的是:它在程序启动时工作了大约一天,没有错误消息。现在,即使在没有其他组件的新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;