04140101.txt 14-Apr-00


Conditional Index problem

I'm randomly getting 5333 exceptions.

Approx. 1 out of 15 tries fails with:

Error message:
--------------
Error Code:  50 [ ACCESS VIOLATION ]
Subsystem: VO-CODE
Error Subcode: 5333
Argument Number: 2
Description: Application Code Error causing Access Violation
CallStack:
BM_TRAN:INDEXLIST:ACCESS (Line: 49)
BM_TRAN:INIT (Line: 53)
BALANCEMONITORPLOGSUBFORM:PREINIT (Line: 4)
BALANCEMONITORPLOGSUBFORM:INIT (Line: 4)
BALANCEMONITORBROWSER:INIT (Line: 224)


One of the keys is uses a conditional index. Not sure if
this is the cause but I'm suspicious.

 User+IF(Balance==0,"0","1")

Using AXDBFCDX (Advantage) RDD.

Any comments?

Nathan


Hi Nathan

I am seeing these as well using DBFCDX. They don't always
crop up in the same place and seem to be very random. The
really annoying thing is that after the error has occured,
the app will not terminate and i have to reboot.

I also get:
An unhandled exception occured in module
CAVORT20.DLL of your application!
Code:  0xC0000005(EIP=0x10046A35)
....

The error seems to occur when indexes are being opened!

I think the errors are related. This has happened from the
IDE and from runtime on both a Win95 and Win98 system.

I just assumed is was down to my coding, perhaps it is BUT
!!

I will go through my indexes to see if I can pin anything
down.

regards
Trevor
Ashdown Software
Southampton, UK

SNIP[ User+IF(Balance==0,"0","1") ]does


_Field->user + iif(_field->balance = 0,"0","1")

or

_Field->user + iif(empty(balance),"0","1")

or

_Field->user + BalCheck()

function Balcheck()
return iif(empty(balance),"0","1")


Do any of the above combination make any difference to the
crash.

Phil McGuinness

>
_Field->user + iif(_field->balance = 0,"0","1")
<

Phil,

Can't use _Field syntax as the dbfs are shared with Clipper.
Furthermore, if there was a problem with syntax,  it
"should" always return an error.

However the Empty() function may be helpful. If there are
times (for example when the server is first instantiated)
that balance field is not being evaluated as a numeric,
empty may work.

Nathan

    Source: geocities.com/n_s_wong/vo/ng

               ( geocities.com/n_s_wong/vo)                   ( geocities.com/n_s_wong)