Seite 1 von 1

ExplorerListGadget blockiert Programm für ein paar Sekunden

Verfasst: 02.04.2009 12:01
von AndyMars
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?

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

Verfasst: 02.04.2009 14:59
von STARGÅTE
kann den BUG nicht bestätigen, alles lädt sofort, egal in welcher reihenfolge ich es anklicke.

Es gibt jedoch andere Ordner auf meiner HDD die sehr lange zum laden brauchen, das liegt dann aber daran das sieh sehr viele kleine Dateien haben...

Das ist dann aber kein BUG, sondern einfach nur n Ladevorgang, der ggf. in einen Thread ausgelagert weren müsste ...

Re: ExplorerListGadget blockiert Programm für ein paar Sekun

Verfasst: 02.04.2009 15:07
von Fluid Byte
Unfug. Das ist kein BUG und jetzt verschieben bitte.
AndyMars hat geschrieben:Kann das jemand auf einem anderen System reproduzieren? Könnte das ein Bug sein?
Schön das du vorschnell hier postet und dich erst danach fragst, ob es ein BUG sein könnte ... :freak:

Verfasst: 02.04.2009 15:09
von AndyMars
Danke fürs Testen. Hab ich noch fast befürchtet, dass es etwas mit meinem Windows zu tun haben könnte... Zuhause auf einem englischen XP tritt es nämlich auch nicht auf...

Ach ja - und dass

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten

und

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\

nicht dasselbe Verzeichnis anzeigt - hab ich jetzt auch raus gefunden... Bin ja ein alter Hase und muss doch nimmer in die Hilfe schauen... ;-)

Dort steht nämlich, dass "Anwendungsdaten" im oberen Fall als Pattern in "C:\Dokumente und Einstellungen\All Users\" verwendet wird...

Jaja... *seufz* ^^

Verfasst: 02.04.2009 16:59
von AndyMars
STARGÅTE hat geschrieben:Das ist dann aber kein BUG, sondern einfach nur n Ladevorgang, der ggf. in einen Thread ausgelagert weren müsste ...
Naja, das mit dem Ladevorgang könnte ja zutreffen, wenn es ein anderes Laufwerk wäre. Aber es ist nur ein anderes Verzeichnis (mit minimal mehr Dateien) und unter bestimmten Bedingungen lädt es ebenfalls normal.

Mag sein, dass es kein Problem von PureBasic ist, sondern von Windows, bzw. vom System - schwierig für mich das festzustellen... Wie auch immer - ist nicht so wichtig...

BTW: Evtl. sollte man im Bug-Bereich einen entsprechenden Sticky machen, dass dort nur Bugs eingetragen werden sollen, die schon hieb- und stichfest eruiert sind - ich hab mir gedacht dieser Bereich diene zum Diskutieren... Dann hätte ich mir auch diese "freundliche" Zurechtweisung ersparen können... -.-

Verfasst: 02.04.2009 17:07
von bobobo
schon gut .. setz dich mal wieder hin .. niemand haut dich hier .. ist ja
alles editier und verschiebbar .. :)