The Tournament Director Forums
Main => Beta Testing => Topic started by: jodybingo 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
-
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.
-
It happened only once so I could not tell you exactly what happened...srry
-
Well, I'm asking what happens *every* time you swipe a card. As in, how do you have your system configured to behave?
-
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
-
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?
-
My player's table and seat number are printed on the receipt at buy-in