Záró utasítás
Azonnal leállítja a végrehajtást.
Syntax
End
Megjegyzések
Az utasítást End
bárhol elhelyezheti egy eljárásban, hogy a teljes alkalmazás futásának leállítására kényszerítse. End
bezárja az utasítással Open
megnyitott fájlokat, és törli az alkalmazás összes változóját. Az alkalmazás azonnal bezárul, amint nincsenek más programok, amelyek hivatkoznak az objektumaira, és egyik kód sem fut.
Feljegyzés
Az End
utasítás hirtelen leállítja a kódvégrehajtást, és nem hívja meg a Dispose
metódust vagy Finalize
más Visual Basic-kódot. A más programok által tárolt objektumhivatkozások érvénytelenek. Ha egy End
vagy Catch
több blokkon belül Try
utasítást észlel, a vezérlő nem jut át a megfelelő Finally
blokkra.
Az Stop
utasítás felfüggeszti a végrehajtást, de nem End
zárja be a fájlokat, és nem törli a változókat, kivéve, ha egy lefordított végrehajtható fájlban (.exe) található.
Mivel End
az alkalmazás a megnyitott erőforrások használata nélkül leállítja az alkalmazást, a használat előtt érdemes megpróbálni teljesen bezárni. Ha például az alkalmazás bármilyen űrlapot megnyit, zárja be őket, mielőtt a vezérlő eléri az utasítást End
.
Takarékosan kell használnia End
, és csak akkor, ha azonnal le kell állnia. Az eljárás megszakításának szokásos módjai (Return Statement és Exit Statement) nem csak az eljárást zárják le tisztán, hanem lehetőséget adnak a hívó kódnak a tiszta bezárására is. A konzolalkalmazások például egyszerűen Return
az Main
eljárásból származhatnak.
Fontos
Az End
utasítás meghívja az Exit osztály metódusát Environment a System névtérben. Exit engedélyre van UnmanagedCode
szüksége. Ha nem, SecurityException hiba történik.
Ha egy további kulcsszót követ, a záró <kulcsszóutasítás> a megfelelő eljárás vagy blokk definíciójának végét határozza meg. Például End Function
leállítja egy eljárás definícióját Function
.
Példa
Az alábbi példa az utasítást használja a End
kódvégrehajtás leállítására, ha a felhasználó kéri.
Sub Form_Load()
Dim answer As MsgBoxResult
answer = MsgBox("Do you want to quit now?", MsgBoxStyle.YesNo)
If answer = MsgBoxResult.Yes Then
MsgBox("Terminating program")
End
End If
End Sub
Intelligens eszközök fejlesztői megjegyzései
Ez az utasítás nem támogatott.