PureConnect

 View Only
Discussion Thread View
  • 1.  Can't debug my AddIn in Visual Studio 2012

    Posted 04-18-2013 07:40
    Hi, I have a problem that I hope someone could help me solve. I have configured VS2012 debug to start up the IC .NET client when I hit F5. I get the login form ok but then when the IC client should pop up I get an error in VS: System.InvalidOperationException was unhandled HResult=-2146233079 Message=Cross-thread operation not valid: Control '_mainmenu' accessed from a thread other than the thread it was created on. Source=System.Windows.Forms StackTrace: at System.Windows.Forms.Control.get_Handle() at System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) at System.Windows.Forms.ToolStrip.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) at System.Windows.Forms.ToolStrip.System.Windows.Forms.Layout.IArrangedElement.SetBounds(Rectangle bounds, BoundsSpecified specified) at System.Windows.Forms.Layout.DefaultLayout.xLayoutDockedControl(IArrangedElement element, Rectangle newElementBounds, Boolean measureOnly, Size& preferredSize, Rectangle& remainingBounds) at System.Windows.Forms.Layout.DefaultLayout.LayoutDockedControls(IArrangedElement container, Boolean measureOnly) at System.Windows.Forms.Layout.DefaultLayout.xLayout(IArrangedElement container, Boolean measureOnly, Size& preferredSize) at System.Windows.Forms.Layout.DefaultLayout.LayoutCore(IArrangedElement container, LayoutEventArgs args) at System.Windows.Forms.Layout.LayoutEngine.Layout(Object container, LayoutEventArgs layoutEventArgs) at System.Windows.Forms.Control.OnLayout(LayoutEventArgs levent) at System.Windows.Forms.ScrollableControl.OnLayout(LayoutEventArgs levent) at System.Windows.Forms.Form.OnLayout(LayoutEventArgs levent) at System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args) at System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.PerformLayout(IArrangedElement affectedElement, String affectedProperty) at System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args) at System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.PerformLayout(IArrangedElement affectedElement, String affectedProperty) at System.Windows.Forms.ToolStripItem.InvalidateItemLayout(String affectedProperty, Boolean invalidatePainting) at System.Windows.Forms.ToolStripItem.OnTextChanged(EventArgs e) at System.Windows.Forms.ToolStripItem.set_Text(String value) at ININ.InteractionClient.Login.StationStripItem.SetDetails(StationDetails details) in d:\eic_clay_su03\products\eic\src\thinclient\Login\StationStripItem.cs:line 201 at ININ.Threading.AsyncExecutor.<>c__DisplayClass13`1.<>c__DisplayClass17.<Execute>b__12() in d:\eic_clay_su03\products\common\src\managed\Common\Threading\AsyncExecutor.cs:line 80 at ININ.Threading.AsyncExecutor.<>c__DisplayClass1e.<DoInContext>b__1c(Object s) in d:\eic_clay_su03\products\common\src\managed\Common\Threading\AsyncExecutor.cs:line 92 at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() InnerException: It has worked earlier. Rgds Jonas


  • 2.  RE: Can't debug my AddIn in Visual Studio 2012

    Posted 04-22-2013 06:30
    Hi, You need to check and collect your threads. This is not my area of expertise, but I have done something like this when I have a gui method (i.e button pressed) in an application which also accept system events: private void btnDoSomething(Object sender, AsyncCompletedEventArgs e) { if (this.InvokeRequired) //This is to check whether we need to connect the threads.. { this.BeginInvoke(new EventHandler<AsyncCompletedEventArgs>(btnDoSomething), new object[] { sender, e }); } }


Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources