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


ADVERTISEMENT

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

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

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

"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

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

VS 2008 Sharing With Mdichildren Use Events?

Apr 19, 2010

I've been working on an application recently and it has exceeded the scope of a single form.I decided that it would be a good time to use an MDI container and split the interface up over a number of different child forms.As the application was written, there were a few different classes that were being instanciated on the original form.I've migrated these over to the MDI parent form so that I can allow all of the children to interact with them.The route that I'm going down right now is raising events on the child forms and watching for them on the MDI parent.The parent form is then doing whatever the child did to the instanciated classes in the past.

View 3 Replies

Sharing Microsoft Office Events With Processes (i.e. Windows Services) Via VB

Mar 27, 2009

Is it possible to expose an event in an Microsoft Office product to a Windows service? That is, are the Office product events shared with other processes like Windows services? I know I can handle these events in VBA code in Word/Excel. However if the code is disabled the handling does not occur. I want to be able to have a service run in the background to log these events as they occr.

View 4 Replies

Multithreading - Thread Getting Interrupted In .NET?

Mar 13, 2012

I am running code in a thread upon opening an Excel workbook that takes some time to execute. If I attempt to close the workbook while the thread is still executing, giving me the standard prompt to Save or cancel, my thread is interrupted (not sure if "interrupted" is technically the right term) when I click Cancel. More generally, it seems that UI interactions/updates cause the thread to be interrupted.

Is there a way to either 1) prevent the thread from being halted by a UI update/user interaction, or 2) allow the thread to resume after being interrupted?Nothing fancy about the code:

Private Shared Sub Test()
Dim t As New Thread(AddressOf DoSomethingThatTakesAWhile)
t.Start()
End Sub

View 1 Replies

Multithreading - Thread Of Execution In .net/COM Dll?

Jun 23, 2012

According to the answers to another question, the VB user interface cannot be updated if the thread that created it is busy: hence why big computational jobs usually have to go in a background task.Here's what's mystifying then. I have the following code. It's called over in-process COM, like this

client calls showform()
client does loads of work, freezing up its own UI in the process
client finishes work, returns to updating its own UI

At step 2, the VB form is there but frozen - you can't interact with it. At step 3, the VB form becomes usable. But why is this? Surely the thread of execution has returned to the client? If the client is somehow handling events for the form, by what magic did it know what events to handle and where to send them?

[Code]...

View 2 Replies

Cross Thread With A Backgroundworker?

Jan 27, 2010

im sorry if this has been asked before.but i couldent find it in my first look i have a form that runs a query on a mysql database but as it runs the query the form stops responding till it finishes sooo i had the smart idea of putting it in a back ground worker..

GREAT i thot i had it working it all seemed to go greeat then i noticed when i try to change the label text on the form to corispond to the info it got... it wont work it give me a cross threading error....

how to cross thread between the back ground worker and the origial form..

View 2 Replies

Multithreading - .NET 1.1 Safely Abort Thread?

Feb 10, 2011

I'm trying to safely kill a thread. In my button click I have:

try
dim bar as new foo()
dim mythread as New System.Threading.Thread(AddressOf bar.Start)
mythread.Start()

[code]....

When it goes to abort the thread I still get a thread abort error.

View 1 Replies

Multithreading - .NET Anonymous Function To New Thread?

Apr 29, 2011

I have this code:

Public Sub Submit(
ByVal reasonId As Integer,
ByVal email As String,
ByVal message As String
)
'[Argument validation code here]
EmailController.sendMail(reasonId, email, message)
End Sub

I want to spin this off in a new thread so Submit() returns right after creating and start the thread.In C#, I could do something like this:new Thread(() => { EmailController.sendMail(reasonId, email, message)}).Start();

View 1 Replies

Multithreading - Running A Thread From Within A .net Webservice?

Oct 17, 2010

I have a webservice with a webmethod that accepts an XML from a client via POST (don't know if this really matters), validates XML and the data inside, and then processes the XML and returns an answer to the client.At moment, I have a problem with large XMLs; it takes too long for the XML preprocessing to finish, and the clients timeout expires.

Instead of increasing the timeout of the client I thought I could maybe separate the XML validation from the XML processing by starting a new thread after the validation which processes the XML and at the same time return the validation answer to the client. (the processing won't start if the XML is not valid.

Now my question is: Will opening the new thread increase memory usage? normally I would guess it will (for normal applications) but here I am returning an answer to the client and essentially ending the process of the main thread.

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel

[code]....

View 1 Replies

Multithreading - Stopping And Restarting A Thread?

Jun 11, 2009

I have an application which has a thread running which makes constant calls to a server. Occasionally, the calls become unresponsive, and I would like to stop and then restart the thread.How do I do this? I can't use mythread.Abort() because then it doesn't allow me to start the thread again.

View 5 Replies







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