Windows Service s timerem   otázka

VB.NET

Dobrý den,

potřeboval bych udělat jednoduchou službu, která řekněme jednou za 10 s něco provede. Mám problém s timerem. Je mi jasné, že u služby nemohu použít windows.forms.timer (z toolboxu). Chtěl jsem tedy použít system.timers.timer, ale ono to nejede ani tak. Pokud dám nějaký kód do procedury on start, tak se provede, jenže já ho potřebuji provádět cyklicky a tak se asi bez timeru neobejdu. Poradí mi někdo?

Moc děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A můžete dát kousek kódu, jak to řešíte? Jak máte ten timer nastavený a jakou událost a jak zachytáváte? A máte v deklaraci Vašeho timeru "withevents"? Normálně by měl být funkční.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To, že Timer nemůžete naklikat ve Visual Studiu ještě neznamená, že jej nemůžete vytvořit kódem.

Dim WithEvents timer1 As New System.Windows.Forms.Timer()
AddHandler timer1.Tick, AddressOf Tick
timer1.Interval = 100
timer1.Enabled = True

Private Sub Tick(sender As Object, e As EventArgs)
    'tohle se spustí
End Sub

Píšu to z hlavy, možná tam bude chyba.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Moc děkuji za odpovědi.

Timer jsem vytvořil takto:

Dim Timer1 As New System.timers.Timer(5000)

Následně jsem do procedury Private Sub Timer1_Elapsed(ByVal pSender As Object, ByVal pArgs As System.Timers.ElapsedEventArgs) napsal co má služba dělat a pak jsem dal do OnStart Timer1.Enabled = True

Ale zkusím to tedy s tím WithEvents (co to znamená?)

Děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

WithEvents se používá, pokud chcete používat události dané komponenty. Nechápu, proč tady být nemusí.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak s tim WithEvents to funguje... diky moc.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

WithEvents je deklarativní označení které se používá k tomu, aby bylo možné použít klíčové slovo Handles. Handler lze samozřejmě přiřadit k jakékoliv události ručně (pomocí AddHandler), WithEvents je v 99% případů použito designérem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback