Home Devices
New Blog Posts: Merging Reports - Part 1 and Part 2

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

edited March 2017 in Devices
RB 18.0 Berlin

Hello

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
TppDBPipeline.OpenDataSet

However, if I change ppConvertFieldType to be

...
ftAutoInc, ftLongWord: Result := dtLongint;
...

The problem is solved :)

Paul

Comments

  • 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
    http://www.digital-metaphors.com
This discussion has been closed.