Page 1 of 1

GPF with msgMeter

Posted: Thu Nov 03, 2005 12:36 pm
by Frank Demont
Hello,

I made a routine to index or reindex the dbf's with msgmeter , which is called for each indextag in a cdx-file

This works in all cases , except one (with 12 tag's , the last one gives a gpf when MsgMeter is called)

MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
BCdxIndex( oMeter, oText, oDlg, @lEnd , :cINdExp , :cindTag ,;
hlp , :cIndCond , :lIsUnique,:lIndDesc) })


When i call Bcdxindex() direct , it works , the 12 tag's are build as expected

Also when only the 12-th tag is build , it gpf's

The last test was : change the indexexpression to one from the previous tag's , and indeed it works.

So i suppose it must be the indexexpression that confuses msgmeter :
(:cIndExpr)
RIGHT(STR(YEAR(ADDMONTH(fakdat,114)),4),2)+PADL(ALLTRIM(UPPER(boeknr)),5)

Note the gpf occurs before BcdxIndex is called (at least a msginfo at line one is not executed)

Frank

Posted: Thu Nov 03, 2005 3:38 pm
by Antonio Linares
Frank,

Do you index the DBF meanwhile it is visible (shown on a browse, dialog fields, etc.) ?

Gpf with msgmeter

Posted: Fri Nov 04, 2005 7:00 am
by Frank Demont
Antonio

> Do you index the DBF meanwhile it is visible (shown on a browse,
> dialog fields, etc.) ?

No , i do it :

1) The main mdi window , init clausule

Or

2) Menu option , one dbf can be choosen in a list

Both have the same result

Frank

Posted: Fri Nov 04, 2005 7:38 am
by Antonio Linares
Frank,

Are you using harbour or xharbour ? What build ?

Posted: Fri Nov 04, 2005 8:26 am
by Frank Demont
Antonio,

I am using xhb , last build , but this error has always be present.

It is the first time i give it attention . I hope that in the next week(s) i can change a big clipper aplication in a fw aplication , we are in the last stage from testing

Note that without msgmeter it works , so for me it is fw related

Frank

Posted: Fri Nov 04, 2005 8:52 am
by Antonio Linares
Frank,

You may create the MAP file of your app and search into it the GPF address, so we may know where it is GPFing.

Posted: Sat Nov 05, 2005 3:08 pm
by Frank Demont
Antonio

I am using a debugging tool , and got as information :

00690063 605cba00 605cb800 605cb600 605cb400 henfwxcc!ARRNEDMAAND+0xd093

I have no idea how to use it , i know only that ARRNEDMAAND is not a procedure or function , it is a global var , but it has nothing to do with the indexexpression or with the index process.

What should i search in the map file ?

Frank

Posted: Sat Nov 05, 2005 3:52 pm
by Antonio Linares
Frank,

Write down the GPF address that Windows provides, then search it into the MAP file.