我从传统的Delphi 2010应用程序中获取此代码。
var InternalServices: TThemeServices;
function ThemeServices: TThemeServices;
begin
if InternalServices = nil then
InternalServices := ThemeServicesClass.Create;
Result := InternalServices;
end;
编译器告诉我ThemeServicesClass.Create不存在。我应该如何在Delphi XE8中执行此操作?
答案 0 :(得分:5)
您在问题中包含的代码将从VCL的Themes
单元中解除。该代码不应由您编译。您的应用程序编译该代码而不是使用Themes
单元中的代码可能总是错误的。
在XE8中,您应该调用Vcl.Themes
的{{3}}方法。名称更改(从ThemeServices
到StyleServices
)是为了反映VCL样式现在已经增强了旧版XP主题支持的事实。
到目前为止,我可以确定,您的问题中的代码不应该由您编译。它应该删除。它可能是更大的代码片段的一部分,也可能执行可疑的行为。如果没有完全看到该代码,我们就无法向您提供明确的建议。