[Linux] SpinGadget()-Bug

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

[Linux] SpinGadget()-Bug

Beitrag von NicTheQuick »

Hallo. Folgender Code funktioniert unter Windows einwandfrei, aber unter
Linux passiert nichts, wenn ich auf die Pfeile klicke:

Code: Alles auswählen

Value.d = 123.456
steps.d = 0.2

If OpenWindow(0, 0, 0, 300, 30, "spingadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    SpinGadget(0, 0, 0, 300, 30, 0, 100)
    SetGadgetText(0, StrD(Value, 2))
    SetGadgetState(0, 1)
   
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
        Case #PB_Event_Gadget
          If EventGadget() = 0
            Select EventType()
              Case #PB_EventType_Change
                Value = ValD(GetGadgetText(0))
              Case 1
                Value + steps
                SetGadgetText(0, StrD(Value, 2))
              Case -1
                Value - steps
                SetGadgetText(0, StrD(Value, 2))
            EndSelect
          EndIf
      EndSelect
    ForEver
  EndIf
EndIf
dr.chaos81
Beiträge: 3
Registriert: 25.06.2008 12:34

Beitrag von dr.chaos81 »

Hallo ,
um eien ablgeich zwischen Spin_wert und Spin_txt zu machen ,benutze ich folgende abfrage

Code: Alles auswählen

     If Val(GetGadgetText(#spin_1)) <> GetGadgetState(#Spin_1)
              SetGadgetState(#spin_1,Val(GetGadgetText(#Spin_1)))
     EndIf

hoffe geholfen zuhaben.

mfg
Benutzeravatar
michel51
Beiträge: 84
Registriert: 01.11.2005 20:00
Wohnort: Dornhan-Weiden

Re: [Linux] SpinGadget()-Bug

Beitrag von michel51 »

NicTheQuick hat geschrieben:Hallo. Folgender Code funktioniert unter Windows einwandfrei, aber unter
Linux passiert nichts, wenn ich auf die Pfeile klicke:

Code: Alles auswählen

Value.d = 123.456
steps.d = 0.2

If OpenWindow(0, 0, 0, 300, 30, "spingadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    SpinGadget(0, 0, 0, 300, 30, 0, 100)
    SetGadgetText(0, StrD(Value, 2))
    SetGadgetState(0, 1)
   
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
        Case #PB_Event_Gadget
          If EventGadget() = 0
            Select EventType()
              Case #PB_EventType_Change
                Value = ValD(GetGadgetText(0))
              Case 1
                Value + steps
                SetGadgetText(0, StrD(Value, 2))
              Case -1
                Value - steps
                SetGadgetText(0, StrD(Value, 2))
            EndSelect
          EndIf
      EndSelect
    ForEver
  EndIf
EndIf
Funktioniert einwandfrei auf'm Mac :D
Sogar die 'StrD'-Funktion arbeitet richtig, obwohl die laut Hilfe nur für Windows/Linux sein soll. :o
michel51

Mac OS X Snow Leopard (10.6.8 ) Intel
PureBasic V 5.11(X64), V 5.21(x64)

Zum Lernen ist niemand zu alt.
Little John

Re: [Linux] SpinGadget()-Bug

Beitrag von Little John »

NicTheQuick hat geschrieben:Hallo. Folgender Code funktioniert unter Windows einwandfrei, aber unter Linux passiert nichts, wenn ich auf die Pfeile klicke
Kann ich bestätigen (PB 4.20):
- geht unter Windows XP SP 3
- geht nicht unter Ubuntu 8.04

Gruß, Little John
Antworten