Using A Timer To Delay Main Thread?
Feb 3, 2011
is the first time I tried to use a timer - can't understand why it doesn't work!I need to suspend the main thread for a preset time 'delaymSecs' then let the thread continue.I tried this code fragment:-
System.Timers
'(etc)
Public
[code].....
View 1 Replies
ADVERTISEMENT
Apr 6, 2009
Is it possible to use a timer to delay code? For example:
[code]...
View 7 Replies
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
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
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
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
Apr 2, 2010
I'm trying to figure out the best way to add delay. From looking online I believe a timer would work best but I'm having trouble with the code. Basically what I'm trying to accomplish is a GPI debounce set to 200ms. the Timer3 properties interval is set to 200 and its enabled = false. Here is what I am working on.
[Code]...
View 5 Replies
Dec 18, 2009
Im trying make my application display my splash screen for 5secs before loading my main form. I have read lots of threads on this and they all seem to point to the following:Add the following code to the New() sub of the splashscreen.
My.Application.MinimumSplashScreenDisplayTime = 5000
I have also seen a suggestion to add the following code to the OnInitilalize event in the ApplicationsEvents file.
Me.MinimumSplashScreenDisplayTime = 5000
I've have tried both ways, and although it successfully makes my splashscreen wait 5 seconds before closing, it doesnt prevent the Main form from waiting for the splashscreen to close before loading. The mainform simply loads over the top of the splashscreen.This thread is exactly what im after but i cant seem to get mine to work.
[URL]
I have application framework enabled. I have my startup form set to my main form, and i have set my splashscreen in the application tab of my project properties. Im using VS2008.I also noticed that when i clicked on the "View Application Events" button in the application tab of my project properties, the file was blank. I have seen that some other people have had problems with this. I just cut and paste the following code into my ApplicationEvents file. Potentially an issue??? Any reason why the code was not auto-generated to begin with?
Namespace My
' The following events are availble for MyApplication:
'
' Startup: Raised when the application starts, before the startup form is created.
[code]....
View 4 Replies
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
Oct 15, 2009
I'm using Visual Basic 2008 Express Edition.I'm working on a class. At various points, I want to insert a delay between executions of the code. Nothing terribly large. Around 50-200 miliseconds. It doesn't seem like much, but it makes the program run better. I'll probably randomize the length of the delay later between those two marks. So basically the code would go...SomeFunction()timer delaySomeFuntion()I have the timer declared as
Private tmrTimer As TimerAnd each place I want to use it, I simply redeclare it. Or I might add it to the constructor of the class. Either way. Just thinking adding it to the class constructor would probably be a better idea.
tmrTimer =
[Code].....
End SubUnfortunately, I get the error "Handles clause requires a WithEvents variable defined in the containing type or one of its base types"Now remember, this is all contained in a class, so theoretically speaking I can simply move the class file from project to project and reuse it, without ever having to worry about how the class works. Reading through the Timer specifications, I probably need to do some cleanup on the timer after I use it. Am I correct in this?
View 4 Replies
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
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
Dec 20, 2009
Is there is way to delay loops without using (Sleep or timer) in VB
Because on java you cant do something like this
For(i = 0; i< 100; i++) {
Event.Wait(3000)
Animate(i);
}
I dont want to use sleep because your control is dead while is at sleep And using timer waste memory and process timer plus more coding is needed!
View 5 Replies
May 29, 2010
What line of code would I need to use the timer function just as a delay, so like as lines are being executed, once it gets to this timer it waits for say 1500 milliseconds before execution is continued.
View 4 Replies
Dec 2, 2008
I am running an application to control at 1, 10 and 100 Hz to compare their response for a control systems class. I have a timer that reads data from hardware, a timer that updates the screen and does the control, and a timer that writes data to a file. I've been having problems with the speed of the write timer, so I created a buffer.It takes 0 ms to load the buffer, and the buffer is written to file using a synchronized streamwriter and a thread every 100 iterations. It also flips back and forth between two buffers so there are no read/write conflicts.If I try to run at 10 Hz, the timer executes on average every 109 ms. If I try to run at 100 Hz, the timer executes on average ever 15-16 ms.
View 2 Replies
Aug 13, 2010
I have a routine which is controlled by a timer. It works perfectly. The problem is that now, I need to run this routine several times, so I need to start differents threads so that my program doesn't get hung up. I've been trying to start my timer inside a thread, but it doesn't work!
View 18 Replies
Jun 9, 2012
it is possible to force the timer to do the code within the tick event before the delay.In other words..Usually the timer when starts it delays 'x' seconds according to the interval settings then process some codes then delay again 'x' seconds.What I want here is to do the code then delays 'x' seconds.
View 2 Replies
Apr 22, 2012
i have a web browser control, that refreshes pages on a loop after calling a few subs, i need to create a delay in the loop so that the page has a chance to refresh and redisplay before it loops again. i tried the code below, but it seemed to freeze the entire form, elements including, so the web browser didnt refresh before the loop, so how could i create a non form-freezing delay for a loop?
For count = 1 To 20
WebBrowser1.Navigate("URL")
simcheckcheck()
[code].....
View 4 Replies
Jun 22, 2011
i have a timer (interval=4000) that does an operation , the problem is that it freezes my gui and i cant do anything on my main form , i have used Doevents , Me.refresh , but the problem still exists , I could really use some code if someone has...
View 6 Replies
Mar 23, 2011
I have an application that displays real time data. Queries are made to a MySQL database on another PC over the internet every 10 seconds to gather the most recent data.Originally I did the query within a BackgroundWorker so that the GUI is still responsive while the query is answered. However, I found that I need a timeout on the database query (as sometimes it hangs without generating an error) and couldn't do this within the background worker.
So now I'm trying to do it with threads. I have managed to run a thread to get the data.I need to understand how to run a task on the main thread when the GetDataThread is complete. If I do this using Events as shown below then Sub GetDataComplete is running as part of the GetDataThread not the Main Thread. I want to run a sub like backgroundWorker1_RunWorkerCompleted (this seems to run on the main thread).
My Main thread is called MainThread
VB
Imports System.Threading
Imports System.ComponentModel
[code]....
How can I run a task on the main thread when the GetDataThread is complete.
View 9 Replies
Dec 15, 2009
I am using a COM library in my VB.NET app that has an asynchronous execution method and signals my application via an event when it completes. The event handler is on a different thread from the calling thread. I want to invoke another execution on the main thread when I receive the completion event. If I call directly in the event handler for another execution it starts on the new thread. How do I marshal back to the main thread. This is done in a dll not in a form.
View 3 Replies
Mar 3, 2012
i have a background thread when it is done doing its task it notifies the main thread via a delegate sub it seems if the main thread is "busy" then the background thread hangs waiting for the main thread. if this is normal, which i assume it is my background thread, starts another thread, and this 2nd background thread makes the delegate call is this bad practice?
View 2 Replies
Jul 14, 2011
I have written a program that performs multiple httpwebrequests. It reports in to me by writing to the console. In the past, i have used a backgroundworker for this task, but the code became ugly and bulky. Now, i use threading.thread to start the background process. However, i can't seem to find an explanation on updating the UI from the worker thread.
I've read a lot on delegates, invoke and lambda's, and i just got more confused.
Let's say, in my current program i have this line to be displayed in a textbox on my main form:
"Error reading events!"
View 2 Replies
Mar 2, 2009
Well basically I have something being done in a new thread and I would like to start a sub not in the same thread, but in the main thread. How do I do that?
View 3 Replies
Aug 25, 2009
how to access the main ui's labels from a delegate method?
View 7 Replies
Jan 21, 2012
It's easy to do so in objective c but I do not know how to do so in vb.net update:I know about control.invoke. But control.invoke requires a control that may change from program to program. What would be the easier way?So yes program is winform. However I need a solution that does not depend on any specific control. If that's the case actually I do not need things to be run on main thread do I?
View 2 Replies
Nov 23, 2009
put method in main thread from background without declaring delegates
View 2 Replies
Apr 15, 2010
I have a user app written in VB which up till now has relied on winsock to connect to another device we have. The user app logs onto the device and then send / receives status reports from it which are used to set the controls on the apps forms.
This has all worked well for a long time but I'm now looking to move away from Winsock as I know it's not 'the right way' to do things and I also need to be able to send non ascii characters between the app and the device it's connected to (implementing multi language support).
The issue is with Winsock it would simply throw the DataArrival event when a message was received and I could then process the message and act upon it. When using a TcpClient socket connection I'm running into problems as all responses are on the socket thread which means I can't simply change controls on the main form without using the Invoke check.
What I want to be able to do is have the thread running the TcpClient simply alert the main form thread when it receives data and make that data available to the main thread so it can start processing it and triggering all the other functions etc required (these also interact with the Form). Whilst this is happening the TcpClient monitors any further messages and sends response messages as requested from the main thread.
View 9 Replies
Feb 10, 2012
I have two applications. For performing certain functions, i run a second exe, via a process, and wait till it is complete (exited) to continue with my main application. I run through many repetitive functions on different files.Everything runs fine however, when i am doing a run and it is on the x loop number, the main application seems to halt the secondary process exe. I can only assume this is what is happening as, if i close/stop (not pause) my main application in VB, the second exe continues from where it was halted until it completes.
View 4 Replies
Apr 27, 2011
I feel like the answers I seek are rather obvious so I feel silly for having to ask, but I just can't seem to figure this out (I'm new to threads, and am really only comfortable using them in Java at the moment). I have an Excel Addin application created with VB.NET, and I've noticed that occasionally while it's running some code (it's no one specific block of code) the program execution will just stop. This is especially problematic when I've set ScreenUpdating to False for Excel because the users then have to completely close out of Excel to get ScreenUpdating to true.
[Code]...
View 8 Replies