Webgadget Callback zeigt falschen Pfad!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Webgadget Callback zeigt falschen Pfad!

Beitrag von Velindos »

Hallo Leute,
wenn man auf Google oder Purbasic schaltet bleibt der LINK, wenn man aber auf Welt oder Zeit schaltet werden alle weiteren Links abgestellt!

Selbiges passiert auch wenn man in der Page klickt!

Code: Alles auswählen

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

If OpenWindow(0, 0, 0, 600, 320, "WebGadget-Link", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
	WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com") 
	ButtonGadget(1,1,300,60,20,"Google")
	ButtonGadget(2,60,300,60,20,"Purebasic")
	ButtonGadget(3,120,300,60,20,"Welt")
	ButtonGadget(4,180,300,60,20,"Zeit")
	StringGadget(5,240, 300,300,20,"Link")
	ProgressBarGadget(6, 0, 295, WindowWidth(0)-2, 3, 0, 100)
	SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
	
	WebObject.IWebBrowser2 = GetWindowLongPtr_(GadgetID(0),#GWLP_USERDATA)
	If WebObject
		WebObject\put_Silent(#True)
		WebObject\put_Left(1)
	EndIf
	
	Define Event,EventGadget,EventType
	; ------------------
	Repeat
		Event = WaitWindowEvent()
		EventGadget = EventGadget()
		EventType = EventType()
		
		Select Event
			Case #PB_Event_Gadget
				
				If EventGadget = 0
					If EventType = #PB_EventType_DownloadStart
						Debug "DownloadStart"
						HideGadget(6,0)
					EndIf
					If EventType = #PB_EventType_DownloadProgress
						SetGadgetState(6,GetGadgetAttribute(0,#PB_Web_Progress))
					EndIf
					If EventType = #PB_EventType_PopupMenu
					EndIf
					If EventType = #PB_EventType_TitleChange
					EndIf
					If EventType = #PB_EventType_DownloadEnd
						Debug "DownloadEnd"
						HideGadget(6,1)
					EndIf
				EndIf
				
				Select EventGadget
					Case 1 : SetGadgetText(0,"http://www.google.com")
					Case 2 : SetGadgetText(0,"http://www.purebasic.com")
					Case 3 : SetGadgetText(0,"http://www.welt.de/newsticker/")
					Case 4 :SetGadgetText(0,"http://www.zeit.de")
				EndSelect     
				
			Case #WM_KEYFIRST
				If EventwParam() = #VK_RETURN
					Debug "Return"
					SetGadgetText(0,GetGadgetText(5))
				EndIf
				
		EndSelect
		; ESC Taste
		If GetAsyncKeyState_(#VK_ESCAPE):		End: 	EndIf
	Until Event = #PB_Event_CloseWindow
EndIf

Hat jemand eine Idee?

Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)