C# - Background Worker In External Reference (DLL) Locking Main Thread?

Mar 21, 2011

I use background worker almost daily and works great. Today I came to an instance though where I needed to put my background worker in a separate project then the one I was running because I needed to use this class in two different projects in my solution. When I tested the coding on a winforms form, it works perfectly, handling my coding on the background thread. When I try to reference this class from an external project, all of my coding seems to run just fine, but it does not appear to be doing anything on a background thread as it should be, causing my main window to lockup.

Is there any way around this / what is the best practice for ASYNC calls in an external class.Note I basically created a class that u call start, and an event fires when data is ready, so it's not like my external project is waiting for the method to complete.

Solution ABC has two projects. Project A and Project B. Project A is my WPF application and B is my DLL doing the work. Inside project A I have

Dim SmartCardData as new Solution.B()
SmartCardData.Start()
Project B has a sub

[code]....

View 3 Replies


ADVERTISEMENT

Write In Worker Thread In A Data Table And Rich Text Box in Main Thread

Mar 4, 2009

I'm creating a Client Server application which involves theServer running some scripts in clients and getting back results in an automated way. In Server, other than Main thread, i have 2 worker threads, a) one monitoring response from clients and b) the other scheduling next available job to respective client which executes that job. The issue here is ,I want these worker threads to write the status of their work in the UI(which comes under Main Thread). Also i need to write things in worker thread in a Data table and Rich Text Box in Main thread. But, I can't do so, since it has been blocked to access one thread's function or property directly from others. Is there any work around to do this?

View 8 Replies

Serial Use Of A Background Worker Thread?

Apr 6, 2012

I have a BackgroundWorkerThread which I want to use serially.So some of the code in the UI thread will look like this [code]But of course I can't do the second RunWorkerAsync until the UI thread has seen the RunWorkerCompleted event indicating that the "Sequences" work has been completed (or somehow knows that the "Sequences" work has been completed).So I need some sort of synchronization between the two RunWorkerAsync calls, but whatever I use cannot hang up the UI thread because it has to be able to handle ProgressChanged events.Maybe the RunWorkerCompleted event could make the second call but I really don't like that structure.So how do I delay the second call to RunWorkerAsync (for the "Templates" work) until the background thread has completed the "Sequences" work?

View 6 Replies

Background Worker / Progress (Report To Default Instance Of Main Form)

May 23, 2012

I am using background worker to report progress on the screen. In the Main.vb I have the following

Public Sub report(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwlistener.ProgressChanged
Dim message As String = e.UserState
logRTB.AppendText(message & vbCrLf)
End Sub

When I call this from Main.vb I use:
bwlistener.ReportProgress(0, "Some status text goes here")
It works great. The problem is when I try to call it from any other module in my project.

When I call it OtherFile.vb:
Main.bwlistener.ReportProgress(0, "Some status text goes here")
It doesn't work... The program doesn't crash. Debug goes through everything but no output is actually shown to the end user.

View 16 Replies

VS 2005 Class Api Needs To Get A Handle On Form Elements In The Main Worker Thread

Sep 4, 2009

I have a standard windows application called winap. I have a com component which acts as an api to the winap. I have a class in winap call classapi which has all the methods that the api calls and all works well. The problem is that one of the methods in my class api needs to get a handle on form elements in the main worker thread. Whenever I try to access an existing form I keep getting null because the for exists in the main worker thread and my api call is in a seperate thread.

[Code]...

View 5 Replies

Background Worker Create Second Thread For Progress Bar?

Apr 6, 2011

I have searched the forum and found several forums related to the backgroundworker thread but have been unsuccessful in finding my answer.My objective is to display an animated gif or progress bar while the program is executing a particular method which can take upwards of several minutes to complete. I cannot get the second thread to run the progress bar while the main progrem is executing the time consuming method. I have created a demo based on another thread and can't seem to get it to create two threads. I was attempting to get the backgroundworker to execute the progress bar while my main code runs on UI thread.

[Code]...

View 10 Replies

VS 2010 Standard Thread Vs Background Worker?

Apr 25, 2012

I have a application which processes 1000's datas.. for each processing it needs to update gui and db and many variables in my application. So what i have planned is to use 50~90 background worker with my own algorithm of thread pool, synchronization and thread close.So here is it efficient in terms of memory and performance. just confused what to use.. backgroundworker componenet or standard thread.

View 11 Replies

Background Worker - Cross Thread Operation Not Valid

May 30, 2011

I am testing a background workder. I am running the following code for the test.
Private Sub bgwTest_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwTest.DoWork
Dim a As Integer = 0
Do While a < 10 'Infinite loop
ComboBox1.Items.Add(1)
[Code] .....

But this code generates the following error:
"Cross-thread operation not valid: Control 'ComboBox1' accessed from a thread other than the thread it was created on."

View 2 Replies

Background Worker Combox Cross-thread Error

May 19, 2010

Can someone tell me how to get the selected text in the combo as it encountered cross-thread in the following code:

[Code]...

View 5 Replies

VS 2008 Thread Abort Exception While Using Background Worker

Aug 6, 2010

I'm working on a web application that uses the web browser control to get and set info from my website. The content on the site is pulled from different pages and the data the application stores becomes really huge so i used a background worker to do the work and keep the form responsive. On each loop i call to get the webbrowser's inner html so i can sort through it and grab what i need and it works; but only the first time!? After i call it the first time and try to call it again to update the variables the function hangs and then the console shows me a Thread Abort Exception, The try statement i used to contain it doesn't fire off an exception. When i debug the program and i get to that function, it hangs and then just stops working.

The function that loops:

vb.net
Dim ids As String = GrabIDs()
Dim IDCount As Long = ids.Split(CChar(",")).Length - 1
Do Until IDCount = 0

[Code]....

View 1 Replies

VS 2010 Background Worker Cross Thread Operation On Active MDI Child

Dec 11, 2011

how to put this on a background worker without getting cross thread errors??? trying to upload a childform object values to an access db.I don't work in IT,Our company's LAN so slow that it takes around 3~5 seconds trying to update/insert values in access using the code below so putting it on a background worker i think makes the app immediately usable once save/upload's called unless otherwise somebody could suggest a faster way to speed things up.[code]

View 2 Replies

Put Method In Main Thread From Background Without Declaring Delegates?

Nov 23, 2009

put method in main thread from background without declaring delegates

View 2 Replies

Synchronize The Timer Event So That The Timer Executes From The Background Worker Thread?

Apr 23, 2009

I have a windows application that need to process som quite time consuming jobs. In my first try i did all processing under
the form thread. The result was bad response and update of the form due to the heavy jobs.To get around the problem with bad response from the form i created a new class "processing" where i put all the data processing. Then i instanciated a background worker where i in the "doWork" sub created a new instance of "processing".The "processing" class creates a timer from system.timer, and the timer drives the processing.On the Timer event Elapsed the timer starts a new thread from the thread pool.

My problem is now when i want to asynchronously close the background worker (with the corresponding function call what ever it is called ...) there is still a timer thread out there that causes exceptions for me.

1. How can i close my background worker and at the same time have the timer to be stopped?

2. Is there a way to synchronize the timer event so that the timer executes from the background worker thread?

3. Is there a better approach for me to adapt?

View 3 Replies

WPF Background Worker Not Recognizing Worker Object

Mar 11, 2009

I have the following code that adds a background worker into a VB.net WPF project:

Imports System
Imports System.ComponentModel
Imports System.ComponentModel.BackgroundWorker

[Code].....

And I get the following error for the DoWork worker event:

Handles clause requires a WithEvents variable defined in the containing type or one of its base types.

It seems like it's missing something in the Event declaration, but can't find it.

View 3 Replies

Multithreading - Load Data In Background Mode Using Background Worker?

May 3, 2012

I am using query from a SQLite database as the AutocompleteCustomSource for a ComboBox. Also, I want to load data in separate thread. My LoadData method works fine when called directly, but it fails when it is called from the BackgroundWorker thread. When it is called from the background thread, it throws a Specified cast is not valid exception on the csearch.AutoCompleteCustomSource.Add(hh("Taj")) line. Below is my code:

Sub LoadData()
Dim connetionString As String
Dim cnn As SQLiteConnection

[Code].....

View 4 Replies

.net - Locking A Control From Another Thread In VB

Mar 18, 2011

I am developing a parser application to build a call tree from DDL files that have been extracted from a database. The idea is to take a large number of these DDL files and determine exactly what calls what. To do this I am using a .NET TreeView. The final output I am working toward is something like this:

-Proc1
-Proc2
-Proc3

[Code].....

View 2 Replies

Creating A Progress Bar That Runs On Another Thread While Keeping Calculation In Main Thread

Nov 12, 2009

Preface: I know this is an unusual/improper way to do this. I can do this with a "real" ShowDialog(), background worker/thread, and so on. I am trying to do specifically what I describe here, even if it is ugly. If this is impossible for X reason, I have created a fancy progress dialog for some of our long running operations. I need to have this dialog shown on a new thread while having processing continue on the calling (UI in most cases) thread.

[Code]...

View 3 Replies

Thread State - Thread In An Application Which Calls A Sub Routine Main()

Jul 26, 2010

I have a thread in an application which calls a sub routine Main(). The Main sub routine in turn call several sub routines/functions from with the same module,several different classes in the same application. Also some sub routines/functions call routines from a class library. Now say the routine/function in class library goes into a infinite loop and never returns. I would like my thread in the application to raise a event and display message to the users about the infinite loop. I am giving some sample code for the application.

Imports System.Threading

Module VMain
Public gbSuspend As Boolean

[CODE]...

View 7 Replies

Access Objects Of Main Thread From BackgroundWorker's Thread?

Aug 4, 2011

I'm working with BackgroundWorker, I want the BackgroundWorker do the retrieval process of data from database while the user can still do another task on the form. The problem is, after retrieving the data, I can't seem to access the ListView in my Form from the DoWork event of BackgroundWorker, I will populate that ListView using the data I've retrieved.

Consider this example, this is how I'm doing it:

Public Class Test
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

[Code].....

View 1 Replies

Using A Background Worker?

Jul 15, 2011

I'm writing an application in Visual Basic Express 2008, part of the function being to walk through a folder structure starting from a user specified folder. In my research, I found this thing called a background worker which seemed an appropriate tool to use given the potential size of a target folder structure. I successfully installed the two examples from the library here, and believe I understand the principles involved. Even so, having tried to build this feature into my application, it seems as though it is not working as expected, and, as predicted, debugging a multi-threaded application is a pain in the extremity.

I have this fragment under my "start" button click event -

HomeSource.Enabled = False
HomeCopy.Enabled = False
HomeReport.Enabled = False

[Code].....

View 16 Replies

What Is A Background Worker

Jul 18, 2010

im thinking just because an app has been sent ton system tray does not mean its a "back ground worker"

View 1 Replies

Fire An Event In Main Thread From Another Thread?

Sep 24, 2009

could someone tell me how to fire an event in main thread from another thread as well as fire and forget without use a new thread?

View 9 Replies

Run A Method On The Main Thread From A Separate Thread?

Dec 31, 2010

I'm reading data from a serial port, but the DataReceived event of SerialPort is handled on it's own thread. I want to handle this on the main thread, but simply declaring an event and raising it still results in it being processed on the SerialPort thread. I'm assuming I need to declare a delegate I can call, but I don't see how that would work.

For example, I want to call Sub HandleDataReceived() on the main thread from the DataReceived thread, having HandleDataReceived() run on the main thread. How would I do this?

View 1 Replies

.net - Progress Bar With Background Worker

Jun 7, 2012

my backgroundworker as I just cant get it to work. Basically I have a backgroundworker which does a few tasks but I'm trying to implement a progress bar and a label. I'm going to set the maximum value of the progress bar to 10 and then have it updating as I move with each task, also I'm thinking of a label with the progress bar which will display the progress ie

[Code]...

View 2 Replies

Add Progress Bar With Background Worker

Oct 7, 2009

I'am trying to make app that will show every file in C:[code]Now how can i add progress bar with the background worker.

View 31 Replies

Background Worker RunWorkerCompleted?

Nov 20, 2008

I have a background worker that used to fire its RunworkerCompleted event when its DoWork routine finished querying a database and writing its output to a file. The bg worker was in a class called Query, which was called from another class called Trigger. A new Trigger Class was created for each monitored event. In this class, there was a structure which stored the config of each Trigger. When this event was triggered (set to TRUE) a new query class is created and it is passed the Trigger class. When the database query, file writing was done, the query class and all its rsources were diposed from the RunWorkerCompleted EventRecently I changed the application so that a new trigger class is not created for each monitored event. There is a single instance of the class but new config structure for each event. When a particular event is trigger, jsut the config structure is passed to a new query class and the sma ething is done in the query class. I just noticed now that the RunWorkerCompleted event is not being fired anymore.

View 5 Replies

Background Worker And A For Loop?

Apr 15, 2009

I have an issue that I can't seem to find a straight answer for anywhere... I have a For loop that sends a file name to a background worker that contains some long running code and I can't find a way for the parent thread to wait for the background worker to finish... Here is the example code:

For 4
BacgroundWorker1.RunWorkerAsync(fileName(i))
Next

[code].....

View 2 Replies

Background Worker In Vista Vs XP

Sep 21, 2009

I have run into this before, When I develop a form to use a background worker to fill tableadapters, the background worker does fine on machines running Vista, but if you run the same thread on an XP machine, the thread gets hung.All the thread is doing is filling a table adapter like this.[code]Why would this run on a Vista machine and not an XP machine?

View 1 Replies

Background Worker Not Working Right?

Apr 27, 2010

I have created a background worker to go and run a pretty long task that includes creating more threads which will read from a file of urls and crawl each. I tried following it through debugging and found that the background process ends prematurely for no apparent reason.

While Not myreader.EndOfData
Try
currentRow = myreader.ReadFields()
Dim currentField As String

[code]....

This first bit of code is the loop to input from file and this is what the background worker does. The next bit of code is where the background worker creates threads to work all the 'landingPages'. After about 10 threads are created the background worker exits this sub and skips the file input loop and exits the program.

Try
For Each landingPage As String In landingPages
pgbar.Timer1.Stop()
If VisitedPages.Contains(landingPage) Then

[code]....

Also my main thread runs a forms from where this background is called to run but the main thread is supposed to wait for the background process to end unless the user selects another option from the main form.

View 1 Replies

Background Worker With Several Forms

Jan 11, 2012

I've been experimenting with background worker to maintain responsiveness and to allow the UI to update while things are being done in the background.I've been having problems getting the background worker to do anything with form controls.For simplicity lets say I have form1 and form2.The background worker is on form1Initially I couldnt get it to edit controls on form1 but by using [code]However the problem came when I tried to get the same background worker to update controls on form2, in this case a text box. With the above code there is no error but it also does not update the text box.Is there an easy way to give a background worker access to multiple forms.

View 4 Replies







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