Zum Inhalt springen

Windowsdienst mit Dateizugriff


schlumpfger

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...