ftLongWord omission and Type mismatch (nxtNullString <> nxtWord32) error

edited March 2017 in Devices
RB 18.0 Berlin


NexusDB autoinc fields are treated as ftLongWord and since
ppConvertFieldType doesn't include this type (grouped with ftAutoInc) a
value of dtString instead of dtLongInt is returned. This doesn't seem to
have any ill effects when running a report EXCEPT when TdaCriteria is
added at runtime, in which case the report errors with:

exception class : EDataError
exception message : NexusDB: : Query
execution failed: Type mismatch (nxtNullString <> nxtWord32) when
comparing at line 94, pos 7 [$3CA0/15520].

main thread ($12ec):
014a9126 +0b2 HireTrackNX.exe ppDBPipe

However, if I change ppConvertFieldType to be

ftAutoInc, ftLongWord: Result := dtLongint;

The problem is solved :)



  • edited March 2017
    Oops, wrong topic - should have been posted to Dade, sorry.

  • edited March 2017
    Hi Paul,

    There is a patch available for RB 18.0 that adds support for ftLongWord.

    Registered users can contact support@digital-metaphors.com to receive
    the patch.

    Best Regards,

    Nico Cizik
    Digital Metaphors
This discussion has been closed.