Událost objektu   zodpovězená otázka

VB.NET

Jak je možné vytvořit událost objektu? Například:

    Private Proc As Process
    Private Sub Proc_exit() Handles Proc.Exited
        'Příkazy …   
    End Sub

Když dojde k ukončení procesu Proc tak se provedou Příkazy?

Nebo třeba serialport data přijata?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
...
Private pi As New Diagnostics.ProcessStartInfo
Private WithEvents p As New Diagnostics.Process
...
...
pi.FileName = "C:\Program Files\Microsoft Office\OFFICE11\pptview.exe"
p.StartInfo = pi
p.EnableRaisingEvents = True
p.Start()
...
...
Private Sub p_Exited(ByVal sender As Object, ByVal e As System.EventArgs) Handles p.Exited
        MsgBox("Proces ukončen")
End Sub

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

Můžu ještě pozádat o komentář? Děkuji

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

Omlouvám se, psal jsem to v rychlosti, takže ještě jednou:

' Deklarace proměnných:
' proměnná pro informace o spouštěném procesu
Private pi As New Diagnostics.ProcessStartInfo
' proměnná pro odvolání na vlastní proces
Private WithEvents p As New Diagnostics.Process
...
...

' vlastní spuštění procesu (v některé metodě, třeba v button1.click)

' nastavíme parametry procesu:
' v tomto případě bude procesem prohlížeč PowerPointru
pi.FileName = "C:\Program Files\Microsoft Office\OFFICE11\pptview.exe"

' procesu přiřadíme nastavené parametry:
p.StartInfo = pi
' zapneme, aby proces generoval události
p.EnableRaisingEvents = True
' proces spustíme
p.Start()
...
...

' v okamžiku, kdy proces "p" skončí je vyvolána událost p.Exited
' zachytíme ji a provedeme požadované operace
Private Sub p_Exited(ByVal sender As Object, ByVal e As System.EventArgs) Handles p.Exited
        MsgBox("Proces ukončen")
End Sub

Snad už je to jasné.

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