Posted 2/17/2010 20:01:11
|
|
|
|
I encountered a funny problem today - when I launch a live system, I get an exception ONLY IF the Output tab is minimized (i.e. autohide is on). The exception is the following:
An exception of type System.ArgumentException was thrown.
Controls created on one thread cannot be parented to a control on a different thread.
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at System.Windows.Forms.Control.set_ParentInternal(Control value)
at System.Windows.Forms.Control.set_Parent(Control value)
at TD.SandDock.A.A(DockControl , Boolean , Boolean )
at TD.SandDock.DockControl.Open(WindowOpenMethod openMethod)
at TD.SandDock.Dockablewindow.Open()
at RightEdge.xf266856f631ec016.xe76263e9c29b08f6(Object xe0292b9ed559da7d, SystemOutputEventArgs xfbf34718e704c6bc)
It occurs in response to messages printed using OutputMessage() from methods inside MySymbolScript and messages printed using SystemData.Output.Add() from methods inside MySystem class, EXCEPT for messages printed from Startup() methods of these classes. If I turn off autohide, everything works fine. I'm using RE2 b14.
|
|
Posted 2/18/2010 08:42:34
|
|
|
|
Is this 100% reproducible for you? I just tried on NewBar where I used OutputMessage(Bars.Count.ToString()); The output tab was minimized and when my NewBar hit, the Output tab popped up and showed my output.
I also tried closing the output tab entirely and it re-added itself and popped up. Perhaps it's a frequency/timing thing?
Zora (2/17/2010) I encountered a funny problem today - when I launch a live system, I get an exception ONLY IF the Output tab is minimized (i.e. autohide is on). The exception is the following:
An exception of type System.ArgumentException was thrown.
Controls created on one thread cannot be parented to a control on a different thread.
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at System.Windows.Forms.Control.set_ParentInternal(Control value)
at System.Windows.Forms.Control.set_Parent(Control value)
at TD.SandDock.A.A(DockControl , Boolean , Boolean )
at TD.SandDock.DockControl.Open(WindowOpenMethod openMethod)
at TD.SandDock.Dockablewindow.Open()
at RightEdge.xf266856f631ec016.xe76263e9c29b08f6(Object xe0292b9ed559da7d, SystemOutputEventArgs xfbf34718e704c6bc)
It occurs in response to messages printed using OutputMessage() from methods inside MySymbolScript and messages printed using SystemData.Output.Add() from methods inside MySystem class, EXCEPT for messages printed from Startup() methods of these classes. If I turn off autohide, everything works fine. I'm using RE2 b14.
|
|
Posted 3/6/2010 22:01:51
|
|
|
|
| You know, it was reproducible that one night, but now I haven't been getting that exception. I'll keep an eye on it and see if pops up again.
|
|
Posted 3/8/2010 08:49:57
|
|
|
|
| Makes me think even more that this is definitely a threading problem. Thanks for reporting back.
|
|
|
|