Page 1 of 1

dbMonitor shows string parameters incorrectly.

Posted: Sun 11 Jul 2010 02:02
by Wade
dbMonitor 3.0.2 with dbxida, FB2.5RC2, Delphi2009

On queries with string parameters, the parameters are reported incorrectly on the "Parameters" tab for dbMonitor.

Specifically, for a parameter of type "WideString", the first character is omitted and for a parameter of type "String", the first two characters are omitted.

Note that the parameter values are reaching the database correctly since the correct data is returned.

Possibly this is a clue:

function TIBCParamDesc.GetAsAnsiString: AnsiString;
var
ValPtr, Ptr: IntPtr;
Len: integer;
begin
case FDataType of
dtString:
ValPtr := IntPtr(Integer(FValue) + 2); // <<<<<<

If the "+2" is removed, the parameters are reported correctly in dbMonitor

Similarly, in "function TIBCParamDesc.GetAsWideString: WideString;"

Posted: Mon 19 Jul 2010 13:18
by Dimon
Thank you for information. We have reproduced this problem and fixed it. This fix will be included in the next DbxIda build.