schlumpfger Geschrieben 25. Oktober 2007 Teilen Geschrieben 25. Oktober 2007 Hallo Leute, Ich sitze hier den ganzen Tag schon über folgendes Problem: Ich erstell einen Dienst mit VB.NET der nach einem Intervall eine Datei schreiben soll. Die Datei soll erstmal leer sein. Egal was ich probiere. Der Dienst läuft, aber eine Datei wird nicht erzeugt. Habe ich nen Denkfehler hier? Imports System.IO Imports System.Timers Public Class DwI2Excel Protected Overrides Sub OnStart(ByVal args() As String) Timer1.Enabled = True End Sub Protected Overrides Sub OnStop() Timer1.Enabled = False End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick File.Create("C:\test.txt") End Sub End Class Der Timer hat Testweise ein Intervall von 10000 msec. Was mach ich falsch? Ist bestimmt was blödes... Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
realgun Geschrieben 25. Oktober 2007 Teilen Geschrieben 25. Oktober 2007 Hi, bei System.Timers.Timer kenne ich kein "Tick"-Ereignis, du meinst bestimmt das "Elapsed"-Ereignis. Und dem hast Du noch keine Methode "deligiert" (Addhandler...). (Das "Tick"-Ereignis gibts beim "Windows.Forms.Timer"). Infos und ein Beispiel zu System.Timers bekommst Du in der MSDN. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schlumpfger Geschrieben 26. Oktober 2007 Autor Teilen Geschrieben 26. Oktober 2007 So hatte ich es vorher versucht. Das Ergebnis ist das gleiche. Der Dienst läuft springt aber nicht in die Methode. Imports System.IO Imports System.Timers Public Class DwI2Excel Dim aTimer As New System.Timers.Timer() Protected Overrides Sub OnStart(ByVal args() As String) Dim Intervall As Integer = 10000 AddHandler aTimer.Elapsed, AddressOf OnTimedEvent aTimer.Interval = Intervall aTimer.Enabled = True 'GC.KeepAlive(aTimer) End Sub Protected Overrides Sub OnStop() aTimer.Enabled = False End Sub Private Shared Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs) File.Create("C:\test.txt") End Sub End Class Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
motom001 Geschrieben 29. Oktober 2007 Teilen Geschrieben 29. Oktober 2007 Schreib doch mal den Timer Start mit in die Form1_Load... Oder setzt den Timer von vorherein auf Enable = True Sonst fängt der Timer ja nicht an mit zählen... Ansonsten so: Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Timer1.Enabled = True End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick My.Computer.FileSystem.WriteAllText("test.txt", "Das wäre jetzt der Text um " & Date.Now & Environment.NewLine, True) Me.TextBox1.Text += "Das wäre jetzt der Text um " & Date.Now & Environment.NewLine 'man kann ebenfalls eine leere Datei mit 'My.Computer.FileSystem.WriteAllText("test.txt", "", False) 'erstellen - Das FALSE bzw. TRUE zum Schluss bedeutet dass der Text der Datei angehangen wird oder nicht End Sub End Class Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 29. Oktober 2007 Teilen Geschrieben 29. Oktober 2007 Schreib doch mal den Timer Start mit in die Form1_Load... [...] Public Class Form1 Private Sub Form1_Load du hast aber schon mitbekommen, dass es sich bei der angesprochenen thematik um einen dienst und keine forms-anwendung handelt? s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
motom001 Geschrieben 29. Oktober 2007 Teilen Geschrieben 29. Oktober 2007 upps, überlesen... Ich nehm alles zurück und behaupte das Gegenteil.... Sorry... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Trux Geschrieben 30. Oktober 2007 Teilen Geschrieben 30. Oktober 2007 wenn es dir "nur" um eine zyklische abarbeitung geht nimm doch einfach einen Thread... Threading Tutorial (C#) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.