Rob*_*ler 3 delphi format hresult
我有一个使用DSPACK组件库的Delphi 6应用程序.只要特定的DirectShow操作失败,该库就会在调试模式下打印日志行.这是相关的源代码行:
format('Error %08lX from FillBuffer!!!', [Result])
Run Code Online (Sandbox Code Playgroud)
不幸的是,这一行导致SysUtils.ConvertErrorFmt()中的EConvertError异常.尝试以十六进制格式正确打印HRESULT时使用的正确格式说明符是什么?
您传递%08lX给函数的令牌是无效的,要将值格式化为十六进制,您必须使用Xchar,并指定长度使用点后跟所需的字符计数,如下所示%.8X
检查此样本
format('Error %.8X from FillBuffer!!!', [Result])
Run Code Online (Sandbox Code Playgroud)