Thanks for reporting the problem. This is indeed a problem with the WideFormat function of the Delphi VCL. I’m not sure why this happens, but I will report the problem to Borland/CodeGear if it’s not already known. We will try to add a workaround for this in our SiFormat wrapper function for WideFormat in a future version.
In the meantime, you have basically two options to workaround this. You could replace the “%p” with the similar expression “%.8x”. But this also requires casting the pointer argument to an Integer or Cardinal variable. The other option would be to format the string yourself with the traditional Format function and then use the normal LogDebug method instead of the overloaded variant with the format string.
The options would thus look like:
Original: SiMain.LogDebug('%p', [SomePointer]);
Option 1: SiMain.LogDebug('%.8x', [Cardinal(SomePointer)]);
Option 2: SiMain.LogDebug(Format('%p', [SomePointer]));
We try to get this fixed. Sorry for the inconveniences.