Seite 1 von 2

Webgadget Callback meldet nicht

Verfasst: 29.03.2016 16:00
von Velindos
Hallo Leute,
Wollte mal über eine HTML-Index meine Spiele öffnen im Purebasic. Aber der Callback reagiert nicht!

Code: Alles auswählen

Global html.s = ""
Html.s +"<form method='get' action='file:\\Z:\BUTLER\Book\INFORMENT\games\Solitaire\Solitaire_001.swf'>"
Html.s +"    <button type='submit'>Continue</button>"
Html.s +"</form>"


Procedure NavigationCallback(Gadget, Url$) 
	If Url$= "http://www.purebasic.com/news.php" 
		MessageRequester("", "No news today!") 
		ProcedureReturn #False 
	Else 
		ProcedureReturn #True 
	EndIf 
EndProcedure 

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
	WebGadget(0, 10, 10, 580, 280, "") 
	SetGadgetItemText(0, #PB_Web_HtmlCode, html)
	SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
	Repeat 
	Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf
Weiss jemand mehr?

Gruss ... Velindos

Re: Webgadget Callback meldet nicht

Verfasst: 29.03.2016 16:21
von Kiffi
doch, er reagiert:

Code: Alles auswählen

Procedure NavigationCallback(Gadget, Url$) 
	Debug "NavigationCallback!"
	Debug Gadget
	Debug Url$
EndProcedure 
Grüße ... Peter

Re: Webgadget Callback meldet nicht

Verfasst: 29.03.2016 17:05
von Velindos
Hallo,

bei mir nicht. Nun was ungewöhnlich ist, dass wenn ich
Html.s +"<form method='get' action='http://www.purebasic.com/news.php'>"
tausche, dann zeigt der Debugger die Meldung!

Gruss ... Velindos

Re: Webgadget Callback meldet nicht

Verfasst: 29.03.2016 17:19
von Kiffi
nur um sicherzugehen. Dieser Code hier:

Code: Alles auswählen

Global html.s = ""
Html.s +"<form method='get' action='file:\\Z:\BUTLER\Book\INFORMENT\games\Solitaire\Solitaire_001.swf'>"
Html.s +"    <button type='submit'>Continue</button>"
Html.s +"</form>"


Procedure NavigationCallback(Gadget, Url$) 
  Debug "NavigationCallback!"
  Debug Gadget
  Debug Url$
EndProcedure 

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
  WebGadget(0, 10, 10, 580, 280, "") 
  SetGadgetItemText(0, #PB_Web_HtmlCode, html)
  SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
  Repeat 
  Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf
erzeugt bei Dir keine Debug-Ausgabe?

Grüße ... Peter

Re: Webgadget Callback meldet nicht

Verfasst: 29.03.2016 17:48
von Velindos
Hallo,
genau dieser Code. Habe es mit PB5.31 versucht, auch der gleiche Effekt! Zur Zeit programmiere ich im PB5.40!
Des weiteren habe ich schon unter den Compilereinstellungen von/auf Unicode geschaltet.

Gruss ... Velindos

Re: Webgadget Callback meldet nicht

Verfasst: 29.03.2016 21:00
von Kiffi
mh, funktioniert hier mit PB 5.42 (sowohl 32- als auch 64bit) unter Win7 und Win10.

@all: Wie läuft der Code bei Euch?

Grüße ... Peter

Re: Webgadget Callback meldet nicht

Verfasst: 29.03.2016 21:32
von udg
Windows 7/ 64bit // PB 5.3 -> läuft

Bild

Re: Webgadget Callback meldet nicht

Verfasst: 30.03.2016 09:51
von mhs
Funktioniert

Windows 8, 32 & 64bit, PB 5.41

Vielleicht ein lokales Problem mit dem Internet Explorer bei Velindos

Re: Webgadget Callback meldet nicht

Verfasst: 31.03.2016 15:49
von Velindos
Hallo Leute,

Frage: Kann man wenn man zwei Webgadget hat, zwei Callbacks mit der Kennung
"NavigationCallback1(Gadget1, Url$)" und "NavigationCallback1(Gadget2, Url$)"
machen, weiss das jemand!

Zum Problem, bin noch auf der Suche nach dem Grund!

Gruss ... Velindos

Re: Webgadget Callback meldet nicht

Verfasst: 31.03.2016 17:18
von mhs
Du kannst für jedes Gadget einen eigenen Callback anlegen oder für beide ein und denselben Callback verwenden... je nach Bedarf.

Über den Parameter "Gadget" bekommst du die ID des Gadgets und kannst auch innerhalb der Funktion entscheiden, was passieren soll oder du legst zwei Funktionen mit unterschiedlichen Namen dafür an.