NexusDB Newsgroups

NexusDB Newsgroups (http://www.nexusdb.com/forums/index.php)
-   nexusdb.public.support.cbuilder (http://www.nexusdb.com/forums/forumdisplay.php?f=27)
-   -   FindKey - weird error (http://www.nexusdb.com/forums/showthread.php?t=20980)

AndyPhotoBell 13th June 2020 02:46 AM

FindKey - weird error
 
Hi

C++ Builder 2007 + NexusDB 3.09

I have a simple table with a WideString field and an int32 field, both of which are in an index.

I want to use FindKey to find a record so I use this syntax:

TVarRec vr = (path, map);
Paths->FindKey(&vr, 1);

(path is a WideString and map is an int. Both have valid values).

The call to FindKey always fails with the message 'Invalid Value for Field DriveMap'.

If I change my code to use SetRangeStart() (etc) with the same values it works ok.

If I change my WideString search variable to a regular AnsiString then the call to FindKey succeeds. So it looks to me that there's a bug either in Nexus v3.09 or in C++ Builder 2007 (or both) with using FindKey (and the other Find... functions) when one of the parameters is a WideString.

Other than giving up on the Find functions, does anyone know a way to make this work?

Andy

Eivind Bakkestuen 13th June 2020 01:51 PM

Re: FindKey - weird error
 
> Invalid Value

It's possible the error is raised in
TnxIndexDataSet.idRefIndexSetFields, in unit nxdb.pas.

It indicates either a problem with the array passed in, or the type
used in the variant record. There are several types available for
strings; check type you are using against the types supported in the
method above.

--

Eivind [NX]


All times are GMT +11. The time now is 11:54 AM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.