Seite 1 von 1

Warum funktioniert dieser Code nicht?

Verfasst: 17.09.2005 00:50
von Calloway
Warum funktioniert dieser Code nicht? Es werden nur die ersten drei Gadgets gezeichnet, dann kommt die Sanduhr und "keine Rückmeldung"

Code: Alles auswählen

Enumeration
  #Text_Ferien
  #Combo_Bundeslaender
  #ListIcon_Ferien
  #Text_Urlaub
  #ListIcon_Urlaub
  #Date_0
  #Date_1
  #Date_2
  #Date_3
  #Button_UrlaubHinzufuegen
  #Button_Urlaubloeschen
  #Button_FerienOK
  #Button_FerienAbbruch
  
EndEnumeration 

WinID1=OpenWindow(1, 272, 221, 629, 369,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Ferien- und Urlaubstermine")
If WinID1
  If CreateGadgetList(WinID1)
    TextGadget(#Text_Ferien, 20, 10, 110, 20, "Ferien:")
    ComboBoxGadget(#Combo_Bundeslaender, 20, 30, 280, 20)
    ListIconGadget(#ListIcon_Ferien, 20, 60, 280, 230, "Column1", 100, #PB_ListIcon_CheckBoxes)
    TextGadget(#Text_Urlaub, 310, 10, 60, 20, "Urlaub:")
    ListIconGadget(#ListIcon_Urlaub, 310, 60, 200, 230, "Column1", 100)
    ButtonGadget(#Date_0, 140, 300, 80, 20, "")
    ButtonGadget(#Date_1, 220, 300, 80, 20, "")
    ButtonGadget(#Date_2, 350, 300, 80, 20, "")
    ButtonGadget(#Date_3, 430, 300, 80, 20, "")
    ButtonGadget(#Button_UrlaubHinzufuegen, 520, 80, 90, 20, "Hinzufügen")
    ButtonGadget(#Button_Urlaubloeschen, 520, 100, 90, 20, "Löschen")
    ButtonGadget(#Button_FerienOK, 20, 340, 80, 20, "OK")
    ButtonGadget(#Button_FerienAbbruch, 530, 340, 80, 20, "Abbruch")
  Else:MessageRequester("Fehlermeldung", "GUI-Fehler! (Gadgets)", #MB_OK|#MB_ICONWARNING)  
  EndIf
Else:MessageRequester("Fehlermeldung", "GUI-Fehler! (Window)", #MB_OK|#MB_ICONWARNING)  
EndIf

rausferien.b=0
EventID.l = WaitWindowEvent()
Repeat
  Select EventID
    Case #PB_EventGadget
      Select EventGadgetID()
        Case #Text_Ferien
        Case #Combo_Bundeslaender
        Case #ListIcon_Ferien
        Case #Text_Urlaub
        Case #ListIcon_Urlaub
        Case #Date_0
        Case #Date_1
        Case #Date_2
        Case #Date_3
        Case #Button_UrlaubHinzufuegen
        Case #Button_Urlaubloeschen
        Case #Button_FerienOK:rausferien=2
        Case #Button_FerienAbbruch:rausferien=1  
      EndSelect
    Case #PB_EventCloseWindow:rausferien=1
  EndSelect 
Until rausferien
CloseWindow(1)

Verfasst: 17.09.2005 01:06
von iF
Ich glaube wenn Du diese beiden Zeilen vertauscht:

Code: Alles auswählen

EventID.l = WaitWindowEvent() 
Repeat 
dann funktionierts.

Salve.

Verfasst: 17.09.2005 01:07
von zigapeda
zeile 40 und zeile 41 vertauschen dann geht es. du musst jedes mal in der repeatschleife ein windowevent haben aber du hast nur einmal eins und das vor der repeatschleife :allright:

Code: Alles auswählen

Enumeration
  #Text_Ferien
  #Combo_Bundeslaender
  #ListIcon_Ferien
  #Text_Urlaub
  #ListIcon_Urlaub
  #Date_0
  #Date_1
  #Date_2
  #Date_3
  #Button_UrlaubHinzufuegen
  #Button_Urlaubloeschen
  #Button_FerienOK
  #Button_FerienAbbruch
 
EndEnumeration

WinID1=OpenWindow(1, 272, 221, 629, 369,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Ferien- und Urlaubstermine")
If WinID1
  If CreateGadgetList(WinID1)
    TextGadget(#Text_Ferien, 20, 10, 110, 20, "Ferien:")
    ComboBoxGadget(#Combo_Bundeslaender, 20, 30, 280, 20)
    ListIconGadget(#ListIcon_Ferien, 20, 60, 280, 230, "Column1", 100, #PB_ListIcon_CheckBoxes)
    TextGadget(#Text_Urlaub, 310, 10, 60, 20, "Urlaub:")
    ListIconGadget(#ListIcon_Urlaub, 310, 60, 200, 230, "Column1", 100)
    ButtonGadget(#Date_0, 140, 300, 80, 20, "")
    ButtonGadget(#Date_1, 220, 300, 80, 20, "")
    ButtonGadget(#Date_2, 350, 300, 80, 20, "")
    ButtonGadget(#Date_3, 430, 300, 80, 20, "")
    ButtonGadget(#Button_UrlaubHinzufuegen, 520, 80, 90, 20, "Hinzufügen")
    ButtonGadget(#Button_Urlaubloeschen, 520, 100, 90, 20, "Löschen")
    ButtonGadget(#Button_FerienOK, 20, 340, 80, 20, "OK")
    ButtonGadget(#Button_FerienAbbruch, 530, 340, 80, 20, "Abbruch")
  Else:MessageRequester("Fehlermeldung", "GUI-Fehler! (Gadgets)", #MB_OK|#MB_ICONWARNING) 
  EndIf
Else:MessageRequester("Fehlermeldung", "GUI-Fehler! (Window)", #MB_OK|#MB_ICONWARNING) 
EndIf

rausferien.b=0
Repeat
  EventID.l = WaitWindowEvent()
  Select EventID
    Case #PB_EventGadget
      Select EventGadgetID()
        Case #Text_Ferien
        Case #Combo_Bundeslaender
        Case #ListIcon_Ferien
        Case #Text_Urlaub
        Case #ListIcon_Urlaub
        Case #Date_0
        Case #Date_1
        Case #Date_2
        Case #Date_3
        Case #Button_UrlaubHinzufuegen
        Case #Button_Urlaubloeschen
        Case #Button_FerienOK:rausferien=2
        Case #Button_FerienAbbruch:rausferien=1 
      EndSelect
    Case #PB_EventCloseWindow:rausferien=1
  EndSelect
Until rausferien
CloseWindow(1)
[Edit]iF war schneller...
BTW: iF ich bin stolz auf ich :lol: , das hätte nicht jeder nicht PB'ler gewusst :lol: [/Edit]

Verfasst: 17.09.2005 01:55
von iF
[Edit]iF war schneller...
BTW: iF ich bin stolz auf ich , das hätte nicht jeder nicht PB'ler gewusst [/Edit]
Es zuckte so komisch in meinem rechten Proggerauge das die ID ungefüttert bleiben soll. :mrgreen:

Salve!

Verfasst: 17.09.2005 09:59
von Calloway
Da hatte ich wohl ein Mörderbrett vor den Augen. Stimmt, ist ja auch logisch. Die Eventabfrage muss ja in die Schleife. Jetzt habe ich derartiges schon 100 mal geproggt, aber diesmal habe ich das einfach nicht bemerkt.

Vielen Dank euch allen für die schnelle Hilfe. :allright: