在 Delphi XE UxTheme 单元中有以下声明
function DrawThemeTextEx(hTheme: HTHEME; hdc: HDC; iPartId: Integer; iStateId: Integer;
pszText: LPCWSTR; cchText: Integer; dwTextFlags: DWORD; pRect: PRect;
var pOptions: TDTTOpts): HResult; stdcall;
external themelib name 'DrawThemeTextEx' delayed;
我的带有 SP3 的 Windows XP Professional 在 uxtheme.dll 中没有这样的功能(使用http://www.nirsoft.net/utils/dll_export_viewer.html中的 dllexp.exe 检查)
似乎我的应用程序确实延迟加载过程并且运行时失败并出现以下错误:
Project mtgstudio.exe raised exception class EExternalException
with message 'External exception C0FB007F'.
该问题在 JVCL 中也遇到过,但根据http://andy.jgknet.de/blog/2009/09/once-upon-a-delayed-jvcl-time/在那里解决
我需要修复 UxTheme,因为 DevExpress 组件也使用它们。
有没有办法修补/修复 UxTheme.pas DrawThemeTextEx 声明为非延迟?