Changes

Strange Errors & Behavior in VB6

1,743 bytes added, 03:33, 13 February 2008
/* Check Boxes Sometimes vbChecked/vbUnchecked (1/0) and Sometimes True/False */
The following lines were added (+) and removed (-):
<big>'''Runs in IDE (''Interpreted''), Yet (''Compiled'') .exe Crashes '''</big>Searching Google lead me down the wrong road thinking it was ADO related, as did the Microsoft Knowledge Base.  It turns out the error was being generated by setting text in a ComboBox control.  The error is, therefore related to the [ComboBox Control in VB6].Searching Google lead me down the wrong road thinking it was ADO related, as did the Microsoft Knowledge Base.  It turns out the error was being generated by setting text in a ComboBox control.  The error is, therefore related to the [[ComboBox Control in VB6]].Key terms:Possibe Key terms:The Fix:The following simplified code sample is what renders the error from the compiled exe.  cboSkGroup.AddItem ("<All Skill Groups Available>")  cboSkGroup.Text = "<All Skill Groups Available>"The following code has been substituted and thus resolved the error.  cboSkGroup.AddItem ("<All Skill Groups Available>")  cboSkGroup.ListIndex = 0''I think that the issue has to do with the way VB matches the text from the listed item with the text entered using the .text property.  Typically characters are matched and what is entered with .text works fine.  In this case it is perhaps something to do with the characters within the listed item.  Most of the time the first method would not cause a problem.  Sometimes it is just better to find a different way to do the same thing and move forward.''== Check Boxes Sometimes vbChecked/vbUnchecked (1/0) and Sometimes True/False ==Ever experience inconsistant CheckBox values?  Your checkbox is checked yet code treats it as unchecked.  Another stupid Microsoft glitch, or more likely, an oversight by their 3rd rate engineers.Illustrated best with this sample program:[[Image:vbchecked01.png]][[Image:vbchecked02.png]] Option Explicit Private Sub cForms2_Click()  tStandard.Text = cStandard.Value  tForms2.Text = cForms2.Value End Sub Private Sub cStandard_Click()  tStandard.Text = cStandard.Value  tForms2.Text = cForms2.Value End Sub Private Sub Form_Load()  tStandard.Text = cStandard.Value  tForms2.Text = cForms2.Value End SubThe Fix: Stick with the standard checkbox only or Forms 2.0 checkbox only throughout the software you are developing. 
Bureaucrat, administrator
16,192
edits