Seite 1 von 1

OptionGadget Problem unter Linux

Verfasst: 11.03.2010 12:14
von gm-pbf
Folgendes Problem mit OptionGadget unter Linux:

PureBasic 4.41
Ubuntu 8.10

Unter Linux wird automatisch ein OptionGadget vorgegeben, selbst wenn wie hier alle mit SetGadgetState auf 0 gesetzt sind.
Beim Aufruf - wie in diesem Beispiel - wird dann das 1. Gadget als aktiv gekennzeichnet, läßt sich aber nicht ausführen.
Erst nachdem ein anders Gadget ausgeführt wurde, sind alle Gadgets frei.
Unter Windows jedoch funktioniert alles einwandfrei.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 140, 110, "OptionGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    OptionGadget(0, 30, 20, 60, 20, "Option 1")
    OptionGadget(1, 30, 45, 60, 20, "Option 2")
    OptionGadget(2, 30, 70, 60, 20, "Option 3")
    SetGadgetState(0, 0)   
    SetGadgetState(1, 0)   
    SetGadgetState(2, 0)       
    Debug GetGadgetState(0) 
    Debug GetGadgetState(1) 
    Debug GetGadgetState(2)         
    
    Repeat
     Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

__________________________________________________
Code-Tags hinzugefügt
11.03.2010
RSBasic


Aus "Bugs" verschoben nach "Linux" - Kaeru fecit

Re: OptionGadget Poblem unter Linux

Verfasst: 11.03.2010 14:47
von ts-soft
So ganz verstehe ich das Problem nicht. Bei einer Gruppe von OptionGadgets ist immer
eins aktiv, das ist der Sinn des ganzen. Keins aktiv ist ein Zustand, den es nicht gibt,
wenn Du diesen also meinst, ist es kein Fehler. Nimm CheckBoxen, die sind für sowas.

Gruß
Thomas

Re: OptionGadget Problem unter Linux

Verfasst: 11.03.2010 19:28
von Little John
gm-pbf hat geschrieben:Folgendes Problem mit OptionGadget unter Linux:

PureBasic 4.41
Ubuntu 8.10

Unter Linux wird automatisch ein OptionGadget vorgegeben, selbst wenn wie hier alle mit SetGadgetState auf 0 gesetzt sind.
Beim Aufruf - wie in diesem Beispiel - wird dann das 1. Gadget als aktiv gekennzeichnet,
Wie ts-soft schon schrieb: Es gibt keinen Sinn, dass keines der OptionGadgets ausgewählt ist. Ubuntu korrigiert hier automatisch den Fehler in Deinem Code.
gm-pbf hat geschrieben:läßt sich aber nicht ausführen.
Erst nachdem ein anders Gadget ausgeführt wurde, sind alle Gadgets frei.
Unter Windows jedoch funktioniert alles einwandfrei.
Was meinst Du mit "ausführen" eines OptionGadgets? Was soll passieren, wenn Du in der Event-Schleife keine Ereignisse verarbeitest? Was verstehst Du darunter dass Gadgets "frei" sind, und was genau bedeutet für Dich "funktioniert alles einwandfrei"?
gm-pbf hat geschrieben:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 140, 110, "OptionGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    OptionGadget(0, 30, 20, 60, 20, "Option 1")
    OptionGadget(1, 30, 45, 60, 20, "Option 2")
    OptionGadget(2, 30, 70, 60, 20, "Option 3")
    SetGadgetState(0, 1)    ; korrigiert
    SetGadgetState(1, 0)   
    SetGadgetState(2, 0)       
    Debug GetGadgetState(0) 
    Debug GetGadgetState(1) 
    Debug GetGadgetState(2)         
    
    Repeat
     Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Der Code funktioniert bei mir unter Ubuntu 9.10 wie erwartet, und nach Korrektur (s.o.) auch konsistent.

Bitte nicht vorschnell irgendetwas als Bug in PureBasic einstufen!

Gruß, Little John

Re: OptionGadget Problem unter Linux

Verfasst: 11.03.2010 19:37
von Kaeru Gaman
Little John hat geschrieben:Ubuntu korrigiert hier automatisch den Fehler in Deinem Code.
ist die Antwort auf die Kernfrage, denke ich.

Re: OptionGadget Problem unter Linux

Verfasst: 11.03.2010 20:19
von WPö
Willkommen im Forum!

Sehe gerade, daß Du neu bist. Am besten ist es immer, wenn Du Deine genaue Rechnerkonfiguration und die verwendete Purebasic-Version in die Signatur schreibst und aktuell hältst. Sieh Dir dazu die Signaturen von ein paar anderen Leuten an. Damit erspart man generell hilfsbereiten Leuten Nachfragen.

Gruß - WPö