Type mismatch for SBadTimeZoneID
The second Parameter in the string SBadTimeZoneID (= 'Invalid Time Zone ID: (%d, %d)' ) is of type decimal. In the unit IBCCall.pas, the function TTimeZoneUtils.TimeZoneIDToTimeZoneName(...): String contains the line
RaiseError(Format(SBadTimeZoneID, [TimeZoneID, Result]));
But the parameter Result is a string, not a decimal. As a result the Format-statement raises the exception with the message from System.SysConst.SInvalidFormat.
Please correct the parameter type in the next version.
The exception occures on Windows Vista with Firebird 4 in embedded mode when trying to open a database. On Windows 7 ff there are no problems because the exception is not raised. Perhaps there is the need to also rework the function.