okay hier der code wo der fehler auftrit.
hier das unsichtbare fenster mit dem webgadget() und die erste schleife wo ich warte das, dass passwort eingegeben wird:
Code: Alles auswählen
If OpenWindow(0,0,0,1,1,"",#PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_Invisible)
SetActiveWindow(0)
WebGadget(99,0,0,1,1,"http://192.168.0.1")
EndIf
Repeat
Delay(100)
WindowEvent()
T$ = GetGadgetItemText(99,#PB_Web_HtmlCode)
Until T$ <> "ÿþ<"
Und hier ist die procedure die ich als Thread laufen lasse:
Code: Alles auswählen
Procedure DownloadStatus(dummy)
Repeat
T$ = GetGadgetItemText(99,#PB_Web_HtmlCode)
CreateFile(1,"Router.txt")
WriteString(1,T$)
CloseFile(1)
ReadFile(1,"Router.txt")
While Eof(1) = 0
T$ = ReadString(1)
If FindString(T$,"var wanIP",1)
A$ = RemoveString(T$,"var wanIP="+Chr(34))
A$ = RemoveString(A$,Chr(34)+" ;")
SetGadgetText(15,A$)
If A$ <> "0.0.0.0"
SetGadgetState(11,Image4)
ChangeSysTrayIcon(21,Image6)
SysTrayIconToolTip(21,"3G Router "+Chr(34)+GetGadgetText(15)+Chr(34)+" Verbunden")
Delay(5000)
SetActiveWindow(0)
SetGadgetState(99,#PB_Web_Refresh)
Else
SetGadgetState(11,Image2)
ChangeSysTrayIcon(21,Image5)
SysTrayIconToolTip(21,"3G Router "+Chr(34)+GetGadgetText(15)+Chr(34)+" Getrennt")
If GetGadgetState(14)
CreateThread(@Verbinden(),25)
Delay(10000)
EndIf
EndIf
ElseIf FindString(T$,"var subMask",1)
A$ = RemoveString(T$,"var subMask="+Chr(34))
A$ = RemoveString(A$,Chr(34)+" ;")
SetGadgetText(16,A$)
ElseIf FindString(T$,"var gateWay",1)
A$ = RemoveString(T$,"var gateWay="+Chr(34))
A$ = RemoveString(A$,Chr(34)+" ;")
SetGadgetText(17,A$)
ElseIf FindString(T$,"var wan_mac",1)
A$ = RemoveString(T$,"var wan_mac="+Chr(34))
A$ = RemoveString(A$,Chr(34)+";")
SetGadgetText(20,A$)
ElseIf FindString(T$,"var dns1",1)
A$ = RemoveString(T$,"var dns1="+Chr(34))
A$ = RemoveString(A$,Chr(34)+";")
SetGadgetText(18,A$)
ElseIf FindString(T$,"var dns2",1)
A$ = RemoveString(T$,"var dns2="+Chr(34))
A$ = RemoveString(A$,Chr(34)+";")
SetGadgetText(19,A$)
EndIf
Wend
CloseFile(1)
ForEver
EndProcedure
es ist egal ob ich "SetGadgetState(99,#PB_Web_Refresh)" oder "SetGadgetText(99,Host)" verwende.... es kommt immer der selbefehler beim aktualisieren der seite.....
Das kuriose ist vor allen wenn ich die proceduren für das verbinden oder das trennen aufrufe kommt der fehler nicht und ich strate sie auch als Thread....
Hier die procedure zum verbinden:
Code: Alles auswählen
Procedure Verbinden(dummy)
If IsThread(Threand)
KillThread(Threand)
EndIf
SetActiveWindow(0)
SetGadgetText(99,Host+Verbinden)
SetGadgetState(11,Image3)
Repeat
T$ = GetGadgetItemText(99,#PB_Web_HtmlCode)
CreateFile(1,"Router.txt")
WriteString(1,T$)
CloseFile(1)
ReadFile(1,"Router.txt")
While Eof(1) = 0
T$ = ReadString(1)
If FindString(T$,"var wanIP",1)
A$ = RemoveString(T$,"var wanIP="+Chr(34))
A$ = RemoveString(A$,Chr(34)+" ;")
EndIf
Wend
CloseFile(1)
Delay(500)
Until A$ <> "0.0.0.0"
If IsThread(Threand):Else
Threand = CreateThread(@DownloadStatus(),23)
EndIf
If IsThread(Hide):Else
Hide = CreateThread(@HideStatus(),20)
EndIf
EndProcedure
und hier die procedure zum trennen:
Code: Alles auswählen
Procedure Trennen(dummy)
If IsThread(Threand)
KillThread(Threand)
EndIf
MSG("","Die Internetverbindung Wird getrennt.",2)
Delay(100)
;SetActiveWindow(0)
SetGadgetText(99,Host+Trennen)
Delay(10000)
If IsThread(Threand):Else
Threand = CreateThread(@DownloadStatus(),23)
Repeat
T$ = GetGadgetItemText(99,#PB_Web_HtmlCode)
CreateFile(1,"Router.txt")
WriteString(1,T$)
CloseFile(1)
ReadFile(1,"Router.txt")
While Eof(1) = 0
T$ = ReadString(1)
If FindString(T$,"var wanIP",1)
A$ = RemoveString(T$,"var wanIP="+Chr(34))
A$ = RemoveString(A$,Chr(34)+" ;")
EndIf
Wend
CloseFile(1)
Delay(500)
Until A$ = "0.0.0.0"
EndIf
If IsThread(Hide):Else
Hide = CreateThread(@HideStatus(),20)
EndIf
EndProcedure