Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why this code is crashing?
Message
From
05/04/2005 03:33:56
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01001374
Message ID:
01001416
Views:
17
>Hi everybody,
>
>I'm trying to search in 2 dimensional array.
>
>Here is a code:
>case _triggerlevel = 1
>	begin transaction
>	private plError
>	plError = .f.
>	release gaErrors
>	public gaErrors[1, 12]
>	aused(laUsed)
>	lcExact   = set('EXACT')
>	lcANSI    = set('ANSI')
>	lcDeleted = set('DELETED')
>	lcError   = on('ERROR')
>	set exact on
>	set ansi on
>	set deleted on
>	on error LogRIError(ERROR(),MESSAGE()) &&plError = .t.
>
>* If we're being called recursively and an error has occurred, exit now.
>
>case vartype(m.plError) = "L" and m.plError
>	return
>endcase
>** First search in the parent column
>
>lnTParent = ascan(laRelations, m.lcTable, m.lnTParent  + 1, ;
>	m.lnRelations , cnPARENTCOL, 8)
>
>do while m.lnTParent > 0  and not m.plError
>	lnI = m.lnTParent
>        ** Some staff
>       lnTParent = ascan(laRelations, m.lcTable, m.lnI + 1, ;
>		m.lnRelations, cnPARENTCOL, 8)
>enddo
>
>
>The first ascan executes just fine, but the second gives me "Procedure cancelled" error. lnI = 4 at this time and lnRelations = 222 I don't understand, why I'm not going to LogRiError and what is wrong with this ASCAN.
>
do while BETWEEN(m.lnTParent,1,ALEN(laRelations,1)-1)  and not m.plError
	lnI = m.lnTParent
        ** Some staff
       lnTParent = ascan(laRelations, m.lcTable, m.lnI + 1, ;
		m.lnRelations, cnPARENTCOL, 8)
enddo
>DO you see a problem which I overlooked?
>
>Thanks a lot in advance.
Previous
Reply
Map
View

Click here to load this message in the networking platform