Hallo ich habe ein einen kleinen Servicetool an dem ich arbeite , einen Button der zu einem als Anzeige für den Status für die Windowsfirewall funtioniert zum anderen aber auch die möglichkeit bietet diese an und abzuschalten. War eigentlich ganz stolz darauf das alles fehlerfrei funktioniert, allerdings als ich "Option Strict On" getestet habe, bekomme ich zwei mal den Fehler "Option Strict On" lässt spätes Binden nicht zu" Das Tool funktioniert zwar einwandfrei Auf Xp und Vista allerdings läst es mir keine Ruhe das "Option Strict" mir diesen Fehler bringt, denn ich wollte mir eigentlich angewöhnen sauber zu Programmieren. Das Tool hatte ich in ca einer halben Stunde geschrieben aber nun sitze ich schon seit unzähligen Stunden vor diesen Fehler, und weiß nicht wie ich anders lösen könnte um diesen Fehler wegzubekommen, ohne dabei neue fehler zu erzeugen. Das liegt warscheinlich auch daran das ich nicht wirklich verstehe was mit dem späten Binden gemeint ist. ( Bin eben doch noch Anfänger dabei dachte ich es wird langsam)
Hier mal der Code vllt könnnt ihr mir zeigen wie es richtig aussehen sollte: die beiden Fehler habe ich mit Pfeil " < -----FEHLER " markiert
Option Strict On
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
IstFirewallAngeschaltet()
End Sub
#Region "Firewall"
'Funktion Firewall an
Public Function SetWindowsFirewallOn() As Long
Interaction.Shell("netsh firewall set opmode enable", AppWinStyle.Hide, False, -1)
Return 1
End Function
'funktion Firewall aus
Public Function SetWindowsFirewallOut() As Long
Interaction.Shell("netsh firewall set opmode disable", AppWinStyle.Hide, False, -1)
Return 1
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
If (Me.Label2.Text = "Die Windowsfirewall ist ausgeschaltet") Then
Me.SetWindowsFirewallOn()
Me.Label2.Text = "Die Windowsfirewall ist eingeschaltet"
Me.Button1.Text = "Die Windowsfirewall ist eingeschaltet"
Me.Button1.BackColor = Color.LawnGreen
Else
Me.SetWindowsFirewallOut()
Me.Label2.Text = "Die Windowsfirewall ist ausgeschaltet"
Me.Button1.Text = "Die Windowsfirewall ist ausgeschaltet"
Me.Button1.BackColor = Color.OrangeRed
End If
Catch
End Try
End Sub
Private Function IstFirewallAngeschaltet() As Boolean
Try
' Variablen deklarieren...
Dim FirewallProgrammId As Object
Dim ErgebnisDerAbfrage As Object
Dim Firewallstatus As Boolean
FirewallProgrammId = CreateObject("HNetCfg.FwMgr")
ErgebnisDerAbfrage = FirewallProgrammId.LocalPolicy.CurrentProfile' < ------FEHLER
If ErgebnisDerAbfrage.FirewallEnabled Then ' <---FEHLER
Firewallstatus = True
Label2.Text = " Die Windowsfirewall ist eingeschaltet"
Button1.Text = " Die Windowsfirewall ist eingeschaltet"
Button1.BackColor = Color.LawnGreen
Else
Firewallstatus = False
Label2.Text = " Die Windowsfirewall ist ausgeschaltet"
Button1.Text = " Die Windowsfirewall ist ausgeschaltet"
Button1.BackColor = Color.OrangeRed
End If
Catch
End Try
End Function
#End Region
End Class
Gruß Ronny