Author Topic: error  (Read 2069 times)

jodybingo

  • Hero Member
  • *****
  • Posts: 659
    • View Profile
    • Personal Web Site
error
« on: June 29, 2011, 07:09:21 PM »
Player Registered, error happened when Buying In player using swipe card. Error was one time only

'length' is null or not an object (PlayersTab, TournamentPage: 3205)

 at BuyinPlayersDialog.gleanChecked()

 at BuyinPlayersDialog.validate()

 at Dialog.pressButton(Number)

 at anonymous()

 at openDialog(BuyinPlayersDialog)

 at buyinPlayersDialog(null, null)

 at buyinPlayersDialogWrapper()

 at TournamentPage.hotkeyHandler(Unknown, Hotkey.HKDef, Hotkey.Binding)

 at SettingsTab._handleHotkey(Unknown, Hotkey.HKDef, Hotkey.Binding)

 at SettingsTab.hotkeyHandler(Unknown, Hotkey.HKDef, Hotkey.Binding)

 at SettingsDialog.hotkey(Unknown)

 at SettingsDialog._hotkey()



Browser: Microsoft Internet Explorer

Browser Beta: false

Browser Client Info Version: 7.0

Browser Code Name: Mozilla

Browser Decided Version: 8.0

Browser Detected Version: 8.0

Browser Language: en-US

Browser Minor Version: 0

Browser Version: 4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; CMDTDF; .NET CLR 1.1.4322)

Cookies Enabled: true

CPU Class: x86

Data Folder: C:\Users\Bravo\Documents\The Tournament Director 2

Date: 8:02:09 pm 06/29/2011

DB File: C:\Users\Bravo\Documents\The Tournament Director 2\Data\db\td.db

DB Folder: C:\Users\Bravo\Documents\The Tournament Director 2\Data\db

Install Folder: C:\Program Files\The Tournament Director 2

Install Info: 812ea7628997fa05f99c83ad14fc031d

JScript Build: 16762

JScript Version: 5.8

License Info: 0MXcreMryLs+gar5vwKFWKcCAJFqBsG2fCdZDKrduPI+xD9Y6DurrT8JOti0JlJS6TILzed9ySbpMgvN533JJkBAy7HWKaNn4KpjC26ubaA=

Media Player Version: 12.0.7600.16667

Online: true

Platform: Win32

Preferences File: C:\Users\Bravo\Documents\The Tournament Director 2\prefs.sav

Repo Config File: C:\Users\Bravo\Documents\The Tournament Director 2\repo.sav

Repo Folder: C:\Users\Bravo\Documents\The Tournament Director 2\Data

Store Code: 12TcJXtmiYTlG99iw8i4XQ==

System Language: en-US

TD Version: 2.6.b5

User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; CMDTDF; .NET CLR 1.1.4322)

User Language: en-US

Virtual Store Folder: C:\Users\Bravo\AppData\Roaming\Local\VirtualStore\Program Files\The Tournament Director 2


Corey Cooper

  • Administrator
  • Hero Member
  • *****
  • Posts: 5429
    • View Profile
Re: error
« Reply #1 on: June 29, 2011, 09:19:10 PM »
What happens when you swipe the card?  Does the card reader send a bunch of keystrokes to the TD?  And would that include (a) the hotkey to open the Buy-In Players dialog, (b) the card number (which would be keyed into the "Find" section), and (c) the keystrokes to complete the transaction (tab to the OK button and press Enter, or something similar)?

My though process is that the validation of the dialog, which occurs when you press the OK button, is actually happening before the dialog is fully initialized, because of the speed that everything happens.  But that's just a thought.

jodybingo

  • Hero Member
  • *****
  • Posts: 659
    • View Profile
    • Personal Web Site
Re: error
« Reply #2 on: June 29, 2011, 09:55:36 PM »
It happened only once so I could not tell you exactly what happened...srry

Corey Cooper

  • Administrator
  • Hero Member
  • *****
  • Posts: 5429
    • View Profile
Re: error
« Reply #3 on: June 30, 2011, 11:33:21 AM »
Well, I'm asking what happens *every* time you swipe a card.  As in, how do you have your system configured to behave?

jodybingo

  • Hero Member
  • *****
  • Posts: 659
    • View Profile
    • Personal Web Site
Re: error
« Reply #4 on: June 30, 2011, 01:45:46 PM »
We use hotkeys for Buy-In, Add Player and New Player. The info read on the magnetic stripe is the player's ID number (numbers start at 1). As far as I know (for keystrokes) Tab is only used when in the New Player (edit player) dialogs to move from one text field to the next. The mouse is usually used to move around within TD ("OK" or "Cancel" buttons)

And this actually brings up something I have had a few issues with. The dialog confirming the player movement after buying them in is set to OK by default. However, it has happened a handful of times (not often) where the clerk registering players clicked on cancel by mistake and the player was not seated. After a few more registrations, TD sat another player at the same seat as the original person (because the movement was cancelled). Can this dialog box be canned altogether? I found that it does actually slow down registration as well. If we forget to confirm and try to go to the next transaction by using a hotkey, nothing happens cause TD  is still waiting to confirm and my staff is waiting for TD to print a receipt for the next player.
Thanks

Corey Cooper

  • Administrator
  • Hero Member
  • *****
  • Posts: 5429
    • View Profile
Re: error
« Reply #5 on: June 30, 2011, 03:02:47 PM »
We use hotkeys for Buy-In, Add Player and New Player. The info read on the magnetic stripe is the player's ID number (numbers start at 1). As far as I know (for keystrokes) Tab is only used when in the New Player (edit player) dialogs to move from one text field to the next. The mouse is usually used to move around within TD ("OK" or "Cancel" buttons)

So, the swipe doesn't perform everything for you ... right?  Meaning you (or some person) presses a key (Ctrl+A) or clicks the "Add Players" button to initiate a buy-in.  Then, once the dialog opens (and the cursor is automatically in the "Find" field), you swipe the card and the card reader enters the card number for you.  Then the person clicks the "Find" button, checks the checkbox next to the player's name, and clicks the "OK" button to buy the player in?

Some people have automated such that swiping a card (for example, with a card number of 123456789), would produce the keystrokes Ctrl+A, 123456789, Tab, Enter.  This key sequence would open the Add Players dialog, enter the card number, and press the Find button.  If the options "Buy-in players is enabled by default" and "Auto perform action" are enabled, swiping a card would either (a) buy the player into the tournament automatically, with no user intervention beyond swiping the card, or (b) leave the "Add Players to Tournament" dialog open in the case that the card number is not found.  This is great, but sometimes the key sequences happen faster than humans can type, and that can lead to intermittent issues, because of the way dialogs in the TD app work, unless I code the dialog correctly.

See, most dialogs actually render with the basics first, and then a split second later add the player list.  This allows the program to remain responsive on slower computers with larger player lists.  Sometimes those player lists can take several seconds to come up, and if not done the way I described, it would take several seconds for a dialog to even appear after you pressed the hotkey or button to open the dialog.  By splitting the rendering of the dialog, the dialog opens instantly, even on slower PCs, but the contents may take a second or 2 to appear.  So the software remains more responsive even on slower PCs.

The issue is that in that split second keystrokes could be processed.  If the OK button is pressed in that split second, the code will look through the checkboxes to see who has been selected, but at that time the player list isn't even on the dialog yet.  And hence the error you are seeing.  So determining how this is happening is rather crucial to fixing the problem (or at least determining what the problem is).

And now that I've typed all of that, I'm thinking this could be a different issue altogether.  /sigh

And this actually brings up something I have had a few issues with. The dialog confirming the player movement after buying them in is set to OK by default. However, it has happened a handful of times (not often) where the clerk registering players clicked on cancel by mistake and the player was not seated. After a few more registrations, TD sat another player at the same seat as the original person (because the movement was cancelled). Can this dialog box be canned altogether? I found that it does actually slow down registration as well. If we forget to confirm and try to go to the next transaction by using a hotkey, nothing happens cause TD  is still waiting to confirm and my staff is waiting for TD to print a receipt for the next player.
Thanks

This is actually on my list of items to complete for the final 2.6 version: a preference to skip the auto-seat confirmation when buying players into the tournament.  Out of curiosity, since there's no indication from the buy-in process of where a player is auto-seated (other than the dialog you want to can), how will you tell players where to sit?  From the receipt or do you display the Seating Chart?

jodybingo

  • Hero Member
  • *****
  • Posts: 659
    • View Profile
    • Personal Web Site
Re: error
« Reply #6 on: June 30, 2011, 03:18:10 PM »
My player's table and seat number are printed on the receipt at buy-in