Solved

Finding a system.threading.timer from its ToString and make dispose of it in VB.NET

Posted on 2004-08-05
6
574 Views
Last Modified: 2008-02-01
Hi!

I am writing an application for scheduling database queries, dtsjobs and store procedures. I am launching a lot of Timer objects. I store their ToString() sentences into a string variable which I later save on my SQL Server. However I do need to be able to dispose all these System.Threading.Timer in the event of a rescheduling task being launched by a user.

In short:

How do I find a specific Timer from its ToString. Or any ideas on how to do this otherwise?


Cheers,
Peter
0
Comment
Question by:Peter_Ankarlou
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 11726033
I think I always have to ask why, before anything else, someone chooses to do very complicated things.

Why would you want to do this?

Bob
0
 
LVL 27

Expert Comment

by:planocz
ID: 11726503
You need something like this....

Imports System.Threading

    Private oThread As Thread   '<----------- can make it global

        If oThread.IsAlive = True Then
            oThread.abort
        Else
           'Do something esle
        End If
0
 

Author Comment

by:Peter_Ankarlou
ID: 11726981
Why Bob?
That's truly a good question. :-)

planocz:

The thing is I am using System.Threading.Timer and I want to be able to kill it from another class in my app. What happens if I uses

    Public Function KillEvent(ByVal strTimerName As String) As String

        Dim x As Integer
        Dim prc() As Process
        prc = Process.GetProcesses
        For x = 0 To UBound(prc)
            If prc(x).ProcessName = strTimerName Then
                Try
                    prc(x).Kill()
                    Return prc(x).ProcessName & " killed."
                Catch
                    Return "Unable to terminate process"
                Finally
                End Try
            End If
        Next x

Which I have taken from this web-site. Will it kill my Timer-thread or kill the whole app? What is the difference between to kill a process and Timer.Dispose?
I cannot use Timer.Dispose since have have many timers? I want to kill em all (as Metallica would say).
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 27

Expert Comment

by:planocz
ID: 11730191
just looking at it I think it will work,
 but you will know through testing and debugging.
0
 
LVL 37

Assisted Solution

by:gregoryyoung
gregoryyoung earned 250 total points
ID: 11731655
that will kill a process not a thread ...

why not just hold references to your timers in a collection that you can search through for a given one ...

if you want to kill em all

foreach timer in mytimercollection
    timer.dispose()
end for
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 250 total points
ID: 11734680
If you want to get a reference to a timer by name, then the collection can help you retrieve that:

Dim timerNeeded As Timer = myTimerCollection(name)

Bob
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question