[Mono-bugs] [Bug 341314] System.ArgumentException: Cannot activate invisible or disabled control

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Nov 13 10:47:23 EST 2007


https://bugzilla.novell.com/show_bug.cgi?id=341314#c1





--- Comment #1 from Ian Walker <walker_643 at yahoo.com>  2007-11-13 08:47:22 MST ---
More info... the TCP/IP data is being read via a timer_tick() procedure.
'timer' is a SWF.Timer object on the main form (FormMain). Inside the tick
thread, there is the following code:

FormMessage formMessage = this.Invoke(new
Response<FormMessage>(ShowMessageForm)) as FormMessage;
Application.DoEvents();

/* do work. We hang onto formMessage but we DO NOT use it in this thread */

this.Invoke(new Action<FormMessage>(HideMessageForm), formMessage);




'this' is a FormMain object, 'Response' is   'public delegate T Response<T>();'



The two invoked procedures look like this:

private FormMessage ShowMessageForm()
{
  // This procedure is invoked from timer_tick(). We are in the main/GUI thread
  FormMessage form = new FormMessage();
  form.MessageText = "Please standby...";
  form.Show();  
  return (form);
}
private void HideMessageForm(FormMessage form)
{
  // This procedure is invoked from timer_tick(). We are in the main/GUI thread
  form.Hide();
  form.Dispose();
}


Commenting out the  form.Show();  line prevents the exception from happening. I
would like to emphasize that no GUI work is being done from the tick thread.
Hope this helps :)


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list