Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Pushjmp lookup seek
Message
De
25/02/2005 12:12:34
 
 
À
25/02/2005 09:29:41
Information générale
Forum:
Visual FoxPro
Catégorie:
Problèmes
Versions des environnements
Visual FoxPro:
VFP 7 SP1
OS:
Windows NT
Database:
Visual FoxPro
Divers
Thread ID:
00990512
Message ID:
00990600
Vues:
16
IT SEEMS FIXED IN VFP9

>Hi,
>
>I'm getting a c05 error, followed by the message that there is a pushjmp/popjmp mismatch.
>
>A BROWSE WINDOW shows data that has a FILTER in effect. The filter calls a UDF. The function does a LOOKUP() or SEEK().
>
>Everything goes well if the lookup() is the expression after RETURN and there are no other lines. The crash happens if there is at least one variable declared, even if that variable is irrelevant.
>
>Does this sound familiar?
>
>It has also been confirmed to exist in vfp8 and vfp9!
>
>Here is some code that will/should enable you to reproduce the crash (so, be prepared for the crash!).
set exact off
>close data
>
>create cursor cursor1 ( thetext c(10), isokay L )
>for n = 1 to 10
>	insert into cursor1 values ( 'hello' + str( n, 2 ), .t. )
>next
>index on thetext tag thetext
>
>create cursor cursor2 ( thetext c(10) )
>for n = 1 to 10
>	insert into cursor2 values ( 'hello' + str( n, 2 ) )
>next
>
>set filter to FiltFuncBad1()
>*set filter to FiltFuncBad2()
>*set filter to FiltFuncGood1()
>*set filter to FiltFuncGood2()
>
>DEFINE WINDOW BrowseWind at 1,1 size 18,77 CLOSE FONT 'Courier New', 10 STYLE 'BOLD' FLOAT GROW ZOOM SHADOW SYSTEM
>
>go top
>browse window browsewind
>
>RETURN
>
>FUNCTION FiltFuncBad1
>
>	local llOk		&& !!!!
>
>	return lookup( cursor1.isokay, 'h', cursor1.thetext, 'thetext' )
>
>FUNCTION FiltFuncBad2
>
>	local llOk		&& !!!!
>
>	return seek( 'h', 'cursor1', 'thetext' )
>
>FUNCTION FiltFuncGood1
>	return lookup( cursor1.isokay, 'h', cursor1.thetext, 'thetext' )
>
>FUNCTION FiltFuncGood2
>	return seek( 'h', 'cursor1', 'thetext' )
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform