TGet:bChange is broken

TGet:bChange is broken

Postby James Bott » Mon Oct 08, 2007 3:22 pm

Antonio,

Some versions ago TGet:bChange was designed to reject the last key if bChange returned false. I know there were some complaints because developers were expecting the last key to be in the buffer when bChange was eval'd, so it appears you changed the code to put the lastkey into the buffer before bChange is eval'd. This caused all my code (using bChage) to be broken.

At some point you also added bPostKey which is also eval'd after the last keystroke is in the buffer. So, now both bChange and bPostKey are serving the same purpose.

I would very much like to have bChange restored to its previous function so we can reject invalid keys BEFORE they show up in the buffer. I know that this is going to break some code that others have written, but all they need to do is to change "bChange" to "bPostKey" to fix their code. As it is now, I cannot fix my code without modifing TGet.

Would anyone object to this change?

The simple way to test bChange is:

oGet:bChange:={|| .f. }

The GET should reject all keystrokes.

I know that ver 7.05 and 7.10 both accept all keystrokes. I looked at the May 2005 ver and it was rejecting them. I didn't look at any other versions.

Regards,
James
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 85 guests