Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Is the record is out of range bug fixed ?
Message
De
14/01/2005 17:27:57
 
 
À
14/01/2005 16:36:12
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00977259
Message ID:
00977384
Vues:
38
Hi Jim,

for a tableupdate() with focus on the grid VFP9 and VFP8 execute a different internal code,
but for TABLEREVERT(),ROLLBACK this bug is not fixed.

Run this into VFP8 and VFP9.

On the active cell.
On VFP8:
Click      => TABLEUPDATE() => fire 1 beforeRowColChange side Events
RightClick => TABLEREVERT() => fire 2 beforeRowColChange side Events
SPACE      =>  ROLLBACK     => fire 1 beforeRowColChange side Events
On VFP9:
Click      => TABLEUPDATE() => fire none side events
RightClick => TABLEREVERT() => fire 2 beforeRowColChange side Events
SPACE      =>  ROLLBACK     => fire 1 beforeRowColChange side Events

* for END TRAN i'm not sure if a side event fire or not in others situations
ON SHUTDOWN QUIT
CLOSE DATABASES ALL

ACTIVATE WINDOW "Debug Output"
SET EVENTLIST TO "BEFOREROWCOLCHANGE","LostFocus","Valid","Click","rightclick"
SET EVENTTRACKING ON
* see aitab:
SET CONFIRM ON

SET TALK OFF
SET SAFETY OFF
SET EXACT ON
SET DELETED ON

CREATE TABLE test ( test N(1) )
FOR i=1 TO 50
INSERT INTO test VALUES (1)
ENDF
SET FILTER TO test=1
GO BOTTOM

SET MULTILOCK ON
CURSORSETPROP( 'Buffering', 5, 'test')
SKIP -1

obrowse1=NEWOBJECT("browse1")
BEGIN TRANSACTION 
obrowse1.SHOW
READ EVENTS
DO WHILE TXNLEVEL()>0
	ROLLBACK
ENDDO
SET EVENTTRACKING OFF
SET EVENTLIST TO

DEFINE CLASS browse1 AS FORM
	ADD OBJECT gridbase1 AS GRID

	PROCEDURE INIT
	* At least 3 rows must be visible
			BINDEVENT(this.gridbase1.column1.text1,"click",this,"clicked")
			BINDEVENT(this.gridbase1.column1.text1,"rightclick",this,"rightclicked")
			BINDEVENT(this.gridbase1.column1.text1,"KEYPRESS",this,"KEYPRESSed")
			THIS.gridbase1.DOSCROLL(0)
			THIS.gridbase1.DOSCROLL(0)
	ENDPROC

	PROCEDURE gridbase1.BEFOREROWCOLCHANGE(nColIndex)
		DEBUGOUT PROGRAM()
	ENDPROC
	
	PROCEDURE gridbase1.Click
		DEBUGOUT PROGRAM()
	ENDPROC
	
	PROCEDURE gridbase1.rightclick
		DEBUGOUT PROGRAM()
	ENDPROC

	PROCEDURE clicked
		DEBUGOUT PROGRAM(),TABLEUPDATE(0, .F., 'TEST' )
		
	PROCEDURE rightclicked
		DEBUGOUT PROGRAM(),TABLEREVERT(.F.,'TEST' )

	PROCEDURE KEYPRESSed
		LPARAMETERS k1,k2
		IF k1=32
			DEBUGOUT PROGRAM()
			ROLLBACK
			BEGIN TRANSACTION 
			NODEFAULT 
		ENDIF
			
	PROCEDURE Unload
		CLEAR EVENTS 
		
ENDDEFINE
Another bug is on eventtracking, grid Click,RightClick are not tracked ( click on the grid area )

Thanks
Fabio
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform