Hello everybody,
I've found a weird bug with the CodeJock ComboBoxes which freezes the whole application.
I'm using the ActiveX version with VB6.
You can reproduce the problem with these steps:
- Create a new application and add the necessary CodeJock references
- Add two ComboBoxes to the form and set their appearance to Office 2007 (helps later)
- Add a ProgressBar and set Scrolling to Marquee (helps later)
- Add a PushButton or a standard CommandButton to the form
- Assign a mnemonic to the caption, so you can trigger the button using, let's say, Alt+O
- Add a MsgBox call to the Click handler of the button
- Run the application
- Now focus the first ComboBox by clicking on it and move the mouse cursor on top of the second one
- If you did everything right, both ComboBoxes should be highlighted (only visible with Office2007 appearence) and the ProgressBar should be scrolling
- Now take your hand away from the mouse (Very important)
- Press Alt+O so the message box appears
- Still, don't move the mouse!
- Now the application is frozen: The ProgressBar has stopped and the messagebox cannot be closed via keyboard. Also no painting happens (Not noticable with this small demo, but try Alt-Tabbing back and forth, there's no repaint. Even the VB6 IDE is frozen)
- To get the application going again, you have to move the mouse cursor away from the second ComboBox
- As soon as it leaves the bounds of the combobox everything works again
Here are some other facts I gathered:
- The problem exists in CodeJock 13.0 and 13.1
- It exists on at least four different workstations (WinXP and Vista)
- The control appearence doesn't affect this
- The problem exists when starting from the IDE and from the compiled .exe file
- The problem does not occour when the combobox has the list style, i.e. it has to be editable to product this bug
I've spent 6 full hours to finally figure this out, and most likely my boss
will not be very happy with that. Please help me, so I can tell him, it wasn't for nothing :)
Perhaps this can be circumvented or - even better - there's already a fix for it.
Thank you in advance, Daniel
EDIT: It's not necessary to have two comboboxes. It's sufficient, if the mouse hovers over a combobox, regardless of any other controls in the form.
|