ExplorerListGadget blockiert Programm für ein paar Sekunden
Verfasst: 02.04.2009 12:01
Mir ist zufällig folgendes unter gekommen (siehe Beschreibung im Code). Ist mir zuerst mit 4.2 passiert - ist mit 4.3 aber ebenso.
Kann das jemand auf einem anderen System reproduzieren? Könnte das ein Bug sein?
Kann das jemand auf einem anderen System reproduzieren? Könnte das ein Bug sein?
Code: Alles auswählen
;erstellt mit/für PureBasic 4.3
;Windows XP Prof SP3 german, IE7
#Window_Form=1
#Gadget_Main_ExplorerListExcludeWahl=100
;sehr seltsam: wenn man das erste Mal auf "AU\A\" klickt, dauerte es sehr lange bis das Programm wieder reagiert
;klickt man zuerst auf AU\A tritt dies nicht mehr auf
;mit AU\A wird zudem das falsche Verzeichnis gezeigt (edit: dies ist normal - der letzte Teilstring wird als Pattern interpretiert - siehe Hilfe)
;die anderen Buttons sind nur zum Ausprobieren da
If OpenWindow(#Window_Form,100,100,420,250,"ExplorerGadget Test",#PB_Window_SystemMenu)
;ab 4.3 nicht mehr nötig: CreateGadgetList(WindowID(#Window_Form))
ButtonGadget(1,10,10,40,20,"AU\")
ButtonGadget(2,50,10,40,20,"AU\A\")
ButtonGadget(3,10,30,40,20,"C:\")
ButtonGadget(4,50,30,40,20,"AU\A")
s$="C:\Dokumente und Einstellungen\All Users\"
TextGadget(101,95,10,330,20,s$)
ExplorerListGadget(#Gadget_Main_ExplorerListExcludeWahl,10,60,400,180,s$)
quitForm=0
Repeat
EventID =WaitWindowEvent()
MenuID =EventMenu()
GadgetID =EventGadget()
WindowID =EventWindow()
Select EventID
Case #PB_Event_CloseWindow
If WindowID=#Window_Form
quitForm=1
EndIf
Case #PB_Event_Gadget
Select GadgetID
Case 1
s$="C:\Dokumente und Einstellungen\All Users\"
SetGadgetText(101, s$)
SetGadgetText(#Gadget_Main_ExplorerListExcludeWahl, s$)
Case 2
s$="C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\"
SetGadgetText(101, s$)
SetGadgetText(#Gadget_Main_ExplorerListExcludeWahl, s$)
Case 3
s$="C:\"
SetGadgetText(101, s$)
SetGadgetText(#Gadget_Main_ExplorerListExcludeWahl, "C:\")
Case 4
s$="C:\Dokumente und Einstellungen\All Users\Anwendungsdaten"
SetGadgetText(101, s$)
SetGadgetText(#Gadget_Main_ExplorerListExcludeWahl, s$)
EndSelect
EndSelect
Until quitForm
CloseWindow(#Window_Form)
EndIf