Seite 3 von 3

Re: PureBasic 4.60 Beta 4

Verfasst: 25.08.2011 00:01
von Zaphod
Woah! Der Editor stürzt bei Unicode Eingabe nicht mehr ab.

Code: Alles auswählen

MessageRequester("Unicode", "こにちは プロバシコ!")
どうもありがと (domo arigato)!

Re: PureBasic 4.60 Beta 4

Verfasst: 25.08.2011 11:53
von Ground0
Suuuuper :allright:

Jetzt noch einen Installer der Quasi nur dass Verzeichnis entpackt um es auch auf eingeschränkten Umgebungen zu installieren (Als Portable Apps quasi ....)

Re: PureBasic 4.60 Beta 4

Verfasst: 30.08.2011 12:20
von hth
Bitte auch mal an die zahlreichen Probleme der Movie()-Befehle speziell im Screen denken.

http://forums.purebasic.com/german/view ... 9d351beaab

hth

Re: PureBasic 4.60 Beta 4

Verfasst: 05.09.2011 13:23
von edel
Wenn man eine "include" aus dem Quellcode oeffnet, bekommt das neue Tab/Scintillafenster keinen Fokus. Recht nervig wenn man gleich tippen will und dabei in ein ganz anderes Fenster schreibt.

Re: PureBasic 4.60 Beta 4

Verfasst: 08.09.2011 07:47
von Pelagio
Hallo PB'ler,

mir ist etwas aufgefallen, wobei mir nicht klar ist ob dies so gewollt sein sollte, was ich nicht hoffe.
Ich habe ein CanvasGadget und öffne ein MessageRequester, nach schließen diesem Requesters bin ich im CanvasGadget mit der Maus gefangen und kann die Grenzen des Gadget nicht überschreiten. Erst mit einen Klick auf das Gadget kann ich den Coursor wieder überall hinbewegen. Ich habe das Beispiel aus der Hilfe diesbezüglich modifiziert, so das beim Klicken mit dem rechten Mausbutton ein MessageRequester aktiviert wird.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 220, 220, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 10, 10, 200, 200, #PB_Canvas_ClipMouse)
    
    Repeat
      Event = WaitWindowEvent()
      
      
      If Event = #PB_Event_Gadget And EventGadget() = 0 
         If (EventType()=#PB_EventType_RightClick)
           MessageRequester("InfoBox", "Sie Haben den rechten Button angeklickt") 
         ElseIf EventType() = #PB_EventType_LeftButtonDown Or (EventType() = #PB_EventType_MouseMove And GetGadgetAttribute(0, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
          If StartDrawing(CanvasOutput(0))
            x = GetGadgetAttribute(0, #PB_Canvas_MouseX)
            y = GetGadgetAttribute(0, #PB_Canvas_MouseY)
            Circle(x, y, 10, RGB(Random(255), Random(255), Random(255)))
            StopDrawing()
          EndIf
         EndIf
      EndIf    
      
    Until Event = #PB_Event_CloseWindow
 EndIf
Jetzt Interessiert es mich, wenn es so gewollt ist, wie kann ich aus dieser Situation ausbrechen ohne einen Befreiungsklick?
Ist dies nicht Normal ist es wohl noch ein Bug im Beta.

Re: PureBasic 4.60 Beta 4

Verfasst: 08.09.2011 09:52
von ts-soft
Gewollt ist es mit Sicherheit nicht, aber einen modalen Dialog in den Ereignissen eines CanvasGadgets aufzurufen ist IMHO
auch nicht so normal/sinnvoll.
Bug oder Einschränkung können nur die Entwickler sagen, ich würde sagen, nimm einfach keinen modalen Dialog, dann hast
Du das Problem gar nicht erst. Das modale Dialoge die erweiterten Events des CanvasGadget stören könnten, sollte jedem
einleuchten, also mein Tipp: vermeide solche Situationen.

Re: PureBasic 4.60 Beta 4

Verfasst: 08.09.2011 10:47
von c4s
@Pelagio
Ich bin mir nicht ganz sicher, glaube aber das oder ähnliches im englischen Bug-Forum schon als gemeldet bzw. fixed gesehen zu haben.

Edit:
Hier z.B. http://www.purebasic.fr/english/viewtop ... =4&t=47201

Re: PureBasic 4.60 Beta 4

Verfasst: 08.09.2011 10:50
von Danilo
Pelagio hat geschrieben:Ist dies nicht Normal ist es wohl noch ein Bug im Beta.
Der Fehler ist wohl das die Nachricht #PB_EventType_RightClick an der falschen Stelle feuert,
denn #PB_EventType_RightClick wird schon ausgelöst wenn man die Maustaste drückt, nicht
erst wenn sie losgelassen wird.
Normalerweise sollte #PB_EventType_RightClick erst ausgelöst werden, wenn die Maustaste
losgelassen wird, also ein Click stattfand. Es gibt ja noch #PB_EventType_RightButtonDown
um wirklich das Down-Ereigniss zu bekommen.

Mit #PB_EventType_RightButtonUp funktioniert es dann auch richtig, denn erst das ist
ein Klick. Und imo sollte #PB_EventType_RightClick auch erst dann feuern.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 220, 220, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 10, 10, 200, 200, #PB_Canvas_ClipMouse)
    Repeat
      Event = WaitWindowEvent()
     
     
      If Event = #PB_Event_Gadget And EventGadget() = 0
         If (EventType()=#PB_EventType_RightButtonUp)
           MessageRequester("InfoBox", "Sie Haben den rechten Button angeklickt")
         ElseIf EventType() = #PB_EventType_LeftButtonDown Or (EventType() = #PB_EventType_MouseMove And GetGadgetAttribute(0, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
          If StartDrawing(CanvasOutput(0))
            x = GetGadgetAttribute(0, #PB_Canvas_MouseX)
            y = GetGadgetAttribute(0, #PB_Canvas_MouseY)
            Circle(x, y, 10, RGB(Random(255), Random(255), Random(255)))
            StopDrawing()
          EndIf
         EndIf
      EndIf   
     
    Until Event = #PB_Event_CloseWindow
EndIf