Multithreading - Cross Thread Invoke From Class?

Jan 24, 2012

I am making use of a serial port in a class. I am raising an event from that class to my form calling the class. Event contains data received... I wish to simply populate a textbox from the raised event.Now I am not specifically creating a seperate thread, but I get the normal crossthreading error when trying to update my textbox on the UI, so my assumption is that the serial port and its internal methods probably creates its own threads...Regardless, I am a bit confused as to how to properly implement an invoke, from my main form, pointing to the thread in the instantiated class...

Dim WithEvents tmpRS232 As New clsRS232
Private Sub but_txt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles but_txt.Click
tmpRS232.Set_com_port("COM8", 38400)

[code]....

View 2 Replies


ADVERTISEMENT

Multithreading, Events And Cross Thread Data Sharing?

Dec 1, 2011

I am building a code library to be used by a 3rd party developer. Neither my code or the 3rd party have any UI controls involved. It's purpose is a combination of providing the ability to look up information from a database while at the same time polling it and throwing events when a set of conditions are met. Naturally the only way it's going to be responsive to the 3rd party library's commands is via multithreading since everything in a single thread stops once you start polling the database.

The sub I am using is part of an object that I create in the main thread and attempt to have it run via a thread, when a condition is met I have it update a property in that object, throw the event (or execute a callback in my latest attempt) and then attempt to have a simulator for the 3rd party control read the property.It's easy to setup the multithreading part, the hard part appears to be throwing the event so it is seen in the original thread and the data is available there. Any attempt to do this generates a cross thread error when the data is read.

I attempted to use delegates and calling methods asynchronously and using the callback function but still get cross threading errors.Is my only possiblity to use a background worker, using either the progress changed or runworker completed events? Even then am I going to be able to set the property in the function from one thread and read it in another?

View 1 Replies

ProgressBar+MultiThreading Cross Thread Operation Not Valid?

Aug 13, 2011

I'm having difficulty in working with MultiThreading.I want to add to my project a ProgressBar to show the working flow.I'm getting combinations from many Strings, the number of combination can be really big, so it takes few seconds or minutes.

View 6 Replies

VS 2010 Multithreading Cross-thread Operation Error

Oct 30, 2011

The error occurs at: For i As Integer = 0 To txt_load.Lines.Count - 1..The project exists of 2 rtb's. One with a list of lines. The other will be filled with the converted lines. The main reason that I use it is that I want to use the app during the conversion. The second is that I want to learn how this works.[code]

View 9 Replies

Multithreading - .net Avoiding Cross Thread Exception With Extension Method?

Jan 13, 2011

I am trying to implement a solution for updating form controls without using a delegate.

Imports System.ComponentModel
Imports System.Runtime.CompilerServices
Public Module MyInvoke

[code]....

I get a cross threading error as though i didnt even use this method:Cross-thread operation not valid: Control 'ComboBox1' accessed from a thread other than the thread it was created on.

View 3 Replies

.NET Multithreading / Calling Invoke On A UI Control From A Class In A Separate Class File?

May 13, 2011

Example:

Two files - TestClass.vb, myForm.vb

TestClass.vb looks as follows:

Imports System.Threading
Public Class TestClass
Private myClassThread As New Thread(AddressOf StartMyClassThread)

[code]....

The result:Application runs, no errors or exceptions.Displayed is the listbox and the Start button.I press the start button and a msgbox says "Not Invoked" as expected and upon clicking OK to that msgbox "Start Button Pressed" is added to the Output listbox control.Immediately following that the msgbox pops up again and says "Not Invoked". I was expecting "Invoked" as a separate thread is trying to use the Output listbox control.Of course this results in the Output.Items.Add being attempted which results in no visible result as the thread is not allowed to directly update the UI control.

View 1 Replies

Cross Thread UI Change Never Says Invoke Required - Never Adds Item To List

May 1, 2012

CODE:

Is there anything I need to change about this code to let me insert list items to a listbox on the UI thread?

View 3 Replies

Multithreading - Me.Invoke Doesn't "Invoke" - Threads Stall On Invoke Statement

Mar 16, 2010

I've got the following code:

[code]...

The problem is that, when I call the "SetStatusBarText" sub from another thread, InvokeRequired is True (as it should be), but then my threads stall on the Me.Invoke statement - pausing execution shows them all just sitting there, not actually invoking anything.

View 1 Replies

VS 2010 Multithreading, Putting Class Method On New Thread?

Jun 4, 2011

Right now I have a Email class that has all the properties of an email to send it, and then a SendEmail function which takes those properties and uses them in the following

Public Function SendEmail()
'Exception handling
Try

[Code]....

The loop goes through each email in the array to process its email, however with the multithreaded function I cannot call

"EmailArray(i).ThreadSendBatchEmail()"

So how do I call an objects method when its on a different thread?

And I'm making it multithreaded so I can easily pause the process, and because the program freezes when the send() function is working, this would resolve that.

View 17 Replies

Exception W/ Threading And Invoke In A Class - Read A Sock Without Freezing The Thread?

Mar 12, 2011

I have created a class for Socket reads so I can create sockets on command. Due to performing a socket read, the program will freeze waiting for incoming data due to being on a single thread. So I created a separate thread for the reading of the sock and attempt to invoke an event to prevent multi-threading errors.

But I am getting an error when trying to Invoke: "Invoke or BeginInvoke cannot be called on a control until the window handle has been created."

How can I fix this or is there a better way to read a sock without freezing the thread?

Class for Sockets:

Option Explicit On
Option Strict On

Imports System.Text

[CODE]...

Calling form code example:

Private WithEvents Socks As clsSock

Private Sub Sock_Connected(ByVal state As String) Handles Socks.Connected
MsgBox("Connected - " & state)

[CODE]...

View 4 Replies

VS 2008 Cross-thread Error, Change Control Property By (other) Class Event PropertyChanged?

Apr 1, 2010

I need some help to understand my options to get this working. I try to update a textbox control by a property-changed event from a class variable. I've digged around for a day and have a vague understanding that this can be solved in three ways:

1. Using some "if InvokeRequired", "Invoke" code in the handler method
2. By programming a special delegate class for this variable
3. By using a databinding directly linking the control (textbox) to the class event

Now.. Are these options correct? And would it be possible to get some help to show these three solutions in actual code (relevant to mine)? I can't seem to manage to sort all the information to a working code. Also, what are the pros and cons of the different solutions?

As my code stands now, it's obviously none of the above, as it gives a cross-thread error, as indicated.

[Code]...

View 2 Replies

VS 2010 Error - Cross-Thread Operation Not Valid: Control TbPlaca1 Accessed From A Thread Other Than The Thread It Was Created On

Aug 13, 2010

In one application, I need use 4 simultaneous threads.When the threads finished, I need to update the text of a TextBox.So, I create 4 Textbox, and I wanna the threads change the text to FINISHED.Each thread change one distinct TB.I use this "example"

Dim Terminados As Integer = 0
Private Sub frmEnviarMensagem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = True
Timer1.Start()

[code]....

The problem is, I have an error in the red lines.The error is: INVALIDOPERATIONEXCEPTION "Cross-Thread operation not valid: Control tbPlaca1 Accessed from a thread other than the thread it was created on."I don't use cross threading. Each TB only was accessed for the correspondent thread, and for the "main program".

View 3 Replies

Cross-thread Operation Not Valid: Control 'Panel1' Accessed From A Thread Other Than The Thread It Was Created On." ?

Nov 3, 2011

This is the error message I am getting:

"Cross-thread operation not valid: Control 'Panel1' accessed from a thread other than the thread it was created on." The reason I am getting this error is because I am opening up a new form and then calling these three things:

Panel1.Show()
Label1.Show()
Label2.Show()

why I get this error message because it doesn't occur normally if I open Form2 after closing Form1, it only occurs when I open Form2 after closing Form4.

View 4 Replies

Error - Cross-thread Operation Not Valid: Control 'txt1' Accessed From A Thread Other Than The Thread It Was Created On

Jul 21, 2009

I have done a program using vb2005 to display reading from my microcontroller bs2 board but have encountered some problems. My code are as follows.

Dim Stop_Rx As Boolean
Private Sub btnRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRead.Click
SerialPort1.Open()

[code]....

I've encounter an error which is, (Cross-thread operation not valid: Control 'txt1' accessed from a thread other than the thread it was created on.)

View 7 Replies

Error : Cross-thread Operation Not Valid: Control 'l_users' Accessed From A Thread Other Than The Thread It Was Created On

Jun 21, 2012

When my client try to connect to server I'm getting this error : Cross-thread operation not valid: Control 'l_users' accessed from a thread other than the thread it was created on.

Private Sub _socketManager_onConnectionAccept(ByVal SocketID As String) Handles _socketManager.onConnectionAccept
l_Users.Items.Add(SocketID)
End Sub

View 3 Replies

Cross-thread Operation Not Valid: Control 'Autocad' Accessed From A Thread Other Than The Thread It Was Created On

Jun 6, 2010

I have written an application that loads a form - frmCad as well as AutoCad. It does this via a class which detects when AutoCad quits.

Friend Class CadApp Private WithEvents AppObject As AcadApplication... Private Sub AppObject_BeginQuit(ByRef Cancel As Boolean) Handles AppObject.BeginQuit RaiseEvent Quit() End SubEnd Class

My main class loads frmCad as well as CadApp.

Public Class Cad Private WithEvents frmCad As CadForm Private WithEvents app As CadApp... Public Sub ShowForm() If frmCad Is Nothing Then frmCad = New CadForm frmCad.Visible = True End Sub... Private Sub app_Quit() Handles app.Quit frmCad.Dispose() frmCad = Nothing .... End Sub

When I debug the program, it stops at frmCad.Dispose()The program continues to execute, but all the code after it fails to work.Looking more carefully I get an error message which contains:-Cross-thread operation not valid: Control 'Autocad' accessed from a thread other than the thread it was created on.

View 4 Replies

Cross-thread Operation Not Valid: Control 'label2' Accessed From A Thread Other Than The Thread It Was Created On?

Feb 9, 2011

My error:Cross-thread operation not valid: Control 'label2' accessed from a thread other than the thread it was created on. I want to be able to give my Public RunBot() sub access to edit Labels, buttons, etc without an error.

[Code]...

View 8 Replies

Cross-thread Operation Not Valid: Control 'lblStatus' Accessed From A Thread Other Than The Thread It Was Created On

Apr 1, 2010

I'm getting the 'System.InvalidOperationException' error on acccessing a thread from other than where it was created. My code is:

'Required by the Windows Form Designer
Public components As System.ComponentModel.IContainer ' changed from private

[code]....

View 3 Replies

Cross-thread Operation Not Valid: Control 'statusHO' Accessed From A Thread Other Than The Thread It Was Created On

Jun 6, 2009

My problem is Cross-thread operation not valid: Control 'statusHO' accessed from a thread other than the thread it was created on.

System.InvalidOperationException was unhandled
Message="Cross-thread operation not valid: Control 'statusHO' accessed from a thread other than the thread it was created on."
Source="System.Windows.Forms"
StackTrace:

[Code]...

i used it and it works fine then. but as it is mentioned its not a good practice to use it. So what should i do? is it ok if i use this as i am not able to use correct practice. Mine application is not for enterprise purpose. its just my class project, and it works fine even if i put application working in background. System works ok. I dont know how to correct this error.As i dont have that much knowlege of threads.

So please guide me how to fix this in correct way otherwise i am force to go for bad programming practice
Please refer to Windows Mobile Developer Center > Smart Device Development Forums > Windows Mobile Development > Appendtext not working for all my code details

View 1 Replies

Cross-thread Operation Not Valid: Control 'lv1' Accessed From A Thread Other Than The Thread It Was Created On?

Aug 4, 2009

Cross-thread operation not valid: Control 'lv1' accessed from a thread other than the thread it was created on.

Dim lvi As ListViewItem
For Each lvi In lv1.Items

[code]....

View 1 Replies

Error Saying "Cross-thread Operation Not Valid: Control 'lblOnline' Accessed From A Thread Other Than The Thread It Was Created On."?

Feb 7, 2011

Ok i have a Form with the following

Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtNotepad.Text = LoadFile("notes.txt")

[code].....

View 12 Replies

Invoke UI From Separate Thread Does Not Invoke

Oct 13, 2010

We have a UI with a progressbar. I know how to invoke, safely, the control from which it was not created from a thread. there are threads being processed in a threadpool, all of which calls an "agent" (which is a notifier to raise an event back to the UI to then increase the progressbar). an "agent" is set as a property in a State object, which is then passed into a method which will be executed on the ThreadPool. so, I invoke on the UI the method to update the progressbar, but the bar does not seem to update at all (screen frozen) and it takes a very very long time for it to execute. without threading, no problem.

[Code]...

View 8 Replies

"Cross-thread Operation Not Valid: Control 'TextBox1' Accessed From A Thread?

Sep 18, 2009

When i run the program i am getting the following error in this line TextBox1.Text &= "File Created: " & FullPath & vbCrLf"Cross-thread operation not valid: Control 'TextBox1' accessed from a thread other than the thread it was created on."

View 13 Replies

Cross-thread Operation Not Valid Control 'FormSplash' Accessed From A Thread Other?

Sep 5, 2009

I need your help on the following. In debugging mode only the program is stopping to the following line "My.Forms.FormMain.HelpProviderMain.HelpNamespace = "Reports.chm"" with the following error ""An error occurred creating the form. See Exception.InnerException for details. The error is: Cross-thread operation not valid: Control 'FormSplash' accessed from a thread other than the thread it was created on.""

I noticed that when I am putting NONE in SPLASH screen option in the properties of the project, there is no problem.I am no familiar with treating that's why can you give me detail instruction how to overcome this annoying problem?

View 1 Replies

Cross-thread Operation Not Valid Exception In Single Thread Application?

Nov 14, 2009

I am getting this exception: Cross-thread operation not valid: Control 'TextBoxOutput' accessed from a thread other than the thread it was created on. in a VB 2008 Windows Forms application that I havent specifically made multi-threaded. I have create a sub called Out() like this:

Private Sub Out(ByVal inString As String)
Me.TextBoxOutput.Text += (Me.TextBoxOutput.Text & inString & vbNewLine)
Me.TextBoxOutput.SelectionStart = Me.TextBoxOutput.Text.Length
Me.TextBoxOutput.ScrollToCaret()
End Sub

and I call it from various events to log messages I am getting from my pbx, which I use a third party open source dll to access. The interesting thing to me is that if I run the deployed application (ie, not in the VS IDE) I do not get any exceptions, it's only from within the IDE.if I add the line: Control.CheckForIllegalCrossThreadCalls = False to the form's constructor, the exceptions stop, but a) this seems like a hacky way to get around the issue and b) the application seems to hang sometimes when I have it set this way.

View 2 Replies

Cross-thread Operation Not Valid: Control 'FormSplash' Accessed From A Thread Other

Sep 5, 2009

In debugging mode only the program is stopping to the following line "My.Forms.FormMain.HelpProviderMain.HelpNamespace = "Reports.chm""
with the following error ""An error occurred creating the form. See Exception.InnerException for details. The error is: Cross-thread operation not valid: Control 'FormSplash' accessed from a thread other than the thread it was created on.""I noticed that when I am putting NONE in SPLASH screen option in the properties of the project, there is no problem.

View 1 Replies

Cross-thread Operation Not Valid: Control 'hiddenrtb2' Accessed From A Thread

Mar 10, 2010

im getting this error and i cant figure it out.

Public Sub mlogin()
Invoke(chkb, New Object() {"disable"})
Invoke(d, New Object() {achidrtb, "", "="})
Invoke(d, New Object() {hiddenrtb2, "", "="})

[code]....

View 1 Replies

Cross-threading Operation Not Valid Even Though Invoke Is Used?

Sep 28, 2010

I've been reading around trying to find out why I'd be getting this exception to no avail.

I'm using Visual Basic 2010.

Briefly, I have a "Settings Panel" form which takes a while to create (it contains a lot of labels and textboxes), so I create it in another thread.

After it's loaded, it can be viewed by clicking a button which changes the form's visibility to True. I use the following subroutine to handle invokes for my controls:

Public Sub InvokeControl(Of T As Control)(ByVal Control As T, ByVal Action As Action(Of T))
If Control.InvokeRequired Then

[Code]....

The SettingsTable.Create() method generates a bunch of Labels and TextBoxes based on the contents of the application settings and adds them to the SettingsTable.

When I click on the ViewSettingsPanel checkbox, I get a cross-thread violation error.

View 1 Replies

.net - Which Cross Threading Invoke Function Is Better For A Control That Is Inherited

Nov 9, 2009

I have a relatively simple question regarding the best way to call the DataGridView.Rows.Add function when it is inherited into the current control. Which is the best way to make the call to the inherited control? Call it directly in the invoke or call it using recursive-like function? They both seem to produce the same result, a row gets added and the quantity is returned, but which is the most efficient?The delegate: Private Delegate Function ReturnDelegate() As Object

The two ways are:

A)
Private Overloads Function AddRow() As Integer
If InvokeRequired Then
Return CInt(Invoke(New ReturnDelegate(AddressOf AddRow)))

[code]....

View 1 Replies

Multithreading - Two Different Approaches To Generic Cross-threaded Operations; Which Is Better?

Feb 15, 2011

I recently read about using SynchronizationContext objects to control the execution thread for some code. I have been using a generic subroutine to handle (possibly) cross-thread calls for things like updating UI controls that utilize Invoke. I'm an amateur and have a hard time understanding the pros and cons of any particular approach. I am looking for some insight on which approach might be preferable and why.Update: This question is motivated, in part, by statements such as the following from the MSDN page on Control.InvokeRequired

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved