den Seitenaufbau grafisch darstellt. Leider bekomme ich immer wieder eine Fehlermeldung beim kompilieren dieser Command:
Invalid memory access (read error at address 0)
Code: Alles auswählen
WebObject\get_busy(@isBusy)
Code: Alles auswählen
; webgadget mit downloadstream fortschrittanzeige in Progressbar
EnableExplicit
#READYSTATE_LOADING = 1
#READYSTATE_COMPLETE = 4
Global WebObject.IWebBrowser2
Define count, event, isBusy, isReady
Procedure Main()
OpenWindow(0, 10, 10, 700, 500, "WebGadget ReadyState", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
WebGadget(0, 10, 10, 680, 460, "http://google.de")
WebObject.IWebBrowser2 = GetWindowLongPtr_(GadgetID(0),#GWLP_USERDATA)
ProgressBarGadget(1, 10, 6, 500, 5, 0, 100)
EndProcedure
OpenWindow(1, 298, 150, 710, 535, "",#PB_Window_BorderLess);| #PB_Window_ScreenCentered
; Button
ButtonGadget(1, 300, 50, 100, 50, "open Browser")
count=0
Repeat
Event = WaitWindowEvent()
; Button
If Event = #PB_Event_Gadget
Select EventGadget()
; BTN open Browser
Case 1
Main()
EndSelect
EndIf
; lese downloadstream und sende zu Progressbar
If isBusy
WebObject\get_ReadyState(@isReady)
Select isReady
Case 1
If count<90
count=count+1
SetGadgetState(1,count)
EndIf
Case 4
SetGadgetState(1,100)
EndSelect
EndIf
; beim kompilieren wird hier Fehler angezeigt: Invalid memory access (read error at address 0)
WebObject\get_busy(@isBusy)
Until Event = #PB_Event_CloseWindow
End
(nutze ich nur ein Fenster - keine 2 wie ich es jedoch brauche, funktioniert die Streaminganzeige im Progressbar)
Lauffähiger Code :
Code: Alles auswählen
; webgadget mit downloadstream fortschrittanzeige in Progressbar
EnableExplicit
#READYSTATE_LOADING = 1
#READYSTATE_COMPLETE = 4
Global WebObject.IWebBrowser2
Define count, event, isBusy, isReady
OpenWindow(0, 10, 10, 700, 500, "WebGadget ReadyState", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
WebGadget(0, 10, 10, 680, 460, "http://google.de")
WebObject.IWebBrowser2 = GetWindowLongPtr_(GadgetID(0),#GWLP_USERDATA)
ProgressBarGadget(1, 10, 6, 500, 5, 0, 100)
count=0
Repeat
Event = WaitWindowEvent()
; lese downloadstream und sende zu Progressbar
If isBusy
WebObject\get_ReadyState(@isReady)
Select isReady
Case 1
If count<90
count=count+1
SetGadgetState(1,count)
EndIf
Case 4
SetGadgetState(1,100)
EndSelect
EndIf
WebObject\get_busy(@isBusy)
Until Event = #PB_Event_CloseWindow
End