List of TAdvSmoothComboBox bugs

Events in combobox are a mess.
I post here the log of only the events i plan to use. I'll not debug the whole ComboBox for you(TMS).
I'd liked that you (TMS) will do a strong debug session before make me pay for a component that appears to be in an Alpha state. Anyway i need to release the project for witch i bought your component pack: i'd like to know when these all will be SURELY fixed as i have to give a release date to my customer.

Bugs list.
1) Clicking on the combobox button:
- 1a) does not generate mousedown/mouseup events.
- 1b) generates 2 click events.
2) This is what happens when i click on the button, and then i click it again, so basically i just open and close the combobox:

- first mouse click, cbo opens
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event

- second mouse click, cbo close


CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (1)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (2)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (3)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (4)?
TForm1::AdvSmoothComboBox1CloseUp
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event

3) Open/Close bug: this is how to reproduce it:
a- click on the cbo button: it opens
b- mousedown on the button BUT KEEP THE BUTTON PRESSED: the cbo closes
c- wait a second or so, then release the mouse button: the cbo opens again. WHY?

4) Selecting an item generates a mess of events:
- first mouse click, cbo opens

CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1

CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event


  • mouse down on an item

CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=-1, ItemIndex=0, SelectedItemIndex=-1 <== Should not happen only on the Click event? If not, why?
TForm1::AdvSmoothComboBox1MouseDown <== Why this is fired AFTER the changes?

- mouse up

CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=0, ItemIndex=19, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=19, ItemIndex=18, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=18, ItemIndex=17, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=17, ItemIndex=16, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=16, ItemIndex=15, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=15, ItemIndex=14, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=14, ItemIndex=13, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=13, ItemIndex=12, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=12, ItemIndex=11, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=11, ItemIndex=10, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=10, ItemIndex=9, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=9, ItemIndex=8, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=8, ItemIndex=7, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=7, ItemIndex=6, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=6, ItemIndex=5, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=5, ItemIndex=4, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=4, ItemIndex=3, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=3, ItemIndex=2, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=2, ItemIndex=1, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=1, ItemIndex=0, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=0, ItemIndex=19, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=19, ItemIndex=18, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=18, ItemIndex=17, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=17, ItemIndex=16, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=16, ItemIndex=15, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=15, ItemIndex=14, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=14, ItemIndex=13, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=13, ItemIndex=12, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=12, ItemIndex=11, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=11, ItemIndex=10, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=10, ItemIndex=9, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=9, ItemIndex=8, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=8, ItemIndex=7, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=7, ItemIndex=6, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=6, ItemIndex=5, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=5, ItemIndex=4, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=4, ItemIndex=3, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=3, ItemIndex=2, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=2, ItemIndex=1, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=1, ItemIndex=0, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
TForm1::AdvSmoothComboBox1CloseUp
TForm1::AdvSmoothComboBox1MouseUp
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemClick ItemIndex=0, SelectedItemIndex=-1
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelected ItemIndex=0, SelectedItemIndex=0

I'd stop here, for now.

The reported issues will be fixed in the next update. Other than this, there is really no need to have this arrogant tone in your posts.

Sorry to be harsh. But i bought your components 'cause i wanted to save the time needed to draw graphic rich components myself. Turns out that i'm stuck 'cause a series of bugs that, frankly, i did not expect in a commercial (i mean "well tested and stressed") product.
I don't want to offend anyone personally (really, sorry if this is the case), but i feel the "rights" to show my BIG disappointment: some of these bugs (i'm guessing) are tied to the ones i listed in the post related to the TAdvSmoothListBox, where you said that they will be fixed in the next update,,, which is the one i've download yesterday.
My customer is waiting good words from me, while i'm struggling with component bugs, bad design choices and an empty Help file which prevent me to be able to give him a release date.

Uh, sorry, was Mr. Sheldeman who replied me in the ListBox post.


Just installed the update. Referring to my list numbers:
1) Fixed

2) New behaviour, imho still bugged:
- first mouse click, cbo opens
TForm1::AdvSmoothComboBox1MouseDown
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=3
TForm1::AdvSmoothComboBox1MouseUp
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=0, ItemIndex=3, SelectedItemIndex=3 <== this is false: Item 0 was never selected
- second mouse click, cbo close
TForm1::AdvSmoothComboBox1CloseUp
TForm1::AdvSmoothComboBox1MouseDown <== should not this been fired BEFORE the closeup?
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=3
TForm1::AdvSmoothComboBox1MouseUp

3) Still happens like in the previous version

4) Changed behaviour:
- first mouse click, cbo opens
TForm1::AdvSmoothComboBox1MouseDown
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=3
TForm1::AdvSmoothComboBox1MouseUp
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=0, ItemIndex=3, SelectedItemIndex=3 <== this is false: Item 0 was never selected
- click on Item 4 (3 was selected)
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=3, ItemIndex=4, SelectedItemIndex=3
TForm1::AdvSmoothComboBox1MouseDown <== should not this been fired BEFORE the SelectionChanged?
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=3 <== As i already got the ItemSelectionChanged event, should'nt this index been already updated?
TForm1::AdvSmoothComboBox1CloseUp
TForm1::AdvSmoothComboBox1MouseUp
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemClick ItemIndex=4, SelectedItemIndex=3 <== As i already got the ItemSelectionChanged event, should'nt this index been already updated?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelected ItemIndex=4, SelectedItemIndex=4

To resume my point of view:
- I think it is logical to see the mouse events before any other event (it is the mouse action that starts the event chain.... if i'm wrong, can you tell me why?)
- The itemSelectionChanged should not be fired if nothing changes
- Even if the itemSelectionChanged event have to be fired when nothing changes (may i know why?) the PreviousItemIndex should be equal to the ItemIndex
- It is unclear, to me, when i can trust to the SelectedItemIndex property. I think it should be updated just after the SelectionChanged event.... it tells me that the selection is changed, why i still see the SelectedItemIndex set to the previous item?


A further fix for issue 2) & 4) will be available in the next update. For 3), this has a particular technical non-trivial reason and is very difficult to change.