Ce programme ne marche plus avec la 4.40 beta x (Résolut)

Codes specifiques à MacOS X
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Ce programme ne marche plus avec la 4.40 beta x (Résolut)

Message par Good07 »

Bonjour à tous,
Comme je suis sur Mac depuis 2 ans, je suis PureBasic dans ces différentes versions et pour l'instant sur Mac c'est en progrès. Mais là j'ai un problème et je ne vois pas du tout d'où il pourrai venir, mis à part un Bug.
Ce programme ne fait rien de particulier à part de tester les différents gadgets sur Mac. Enfin seulement quelques un ... :D
Voici le programme:

Code : Tout sélectionner

;Windows

Enumeration
  #Window_0
  #Canvas
  #Button_1
  #Button_2
  #Button_3
  #Text_4
  #String_5
  #Panel_6
  #Image_1
EndEnumeration


  If OpenWindow(#Window_0, 20,20, 800, 400, "Essai Gadgets sur Mac", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
  CreateImage(#Image_1,410,315)
  StartDrawing(ImageOutput(#Image_1))
    Box(0,0,410,335,RGB(255,255,255))
  StopDrawing()
     ImageGadget(#Canvas, 365, 25, 410, 315, ImageID(#Image_1), #PB_Image_Border)
      ButtonGadget(#Button_1, 35, 360, 115, 25, "Dessiner")
      ButtonGadget(#Button_2, 165, 360, 115, 25, "Effacer")
      ButtonGadget(#Button_3, 300, 360, 130, 25, "Quitter")
      TextGadget(#Text_4, 25, 25, 200, 20, " Essai",#PB_Text_Border)
      StringGadget(#String_5, 30, 95, 260, 30, "ça marche !")
      PanelGadget(#Panel_6, 25, 145, 280, 100)
        ; Tab #1
        AddGadgetItem(#Panel_6, -1, "Couleur")
        ; Tab #2
        AddGadgetItem(#Panel_6, -1, "Forme")
        ; Tab #3
        AddGadgetItem(#Panel_6, -1, "Texte")
      CloseGadgetList()
   EndIf




;Event loop

Repeat
  Select WaitWindowEvent()
        Case #PB_Event_Gadget
      Select EventGadget()
        Case #Canvas
        Case #Button_1
         StartDrawing(ImageOutput(#Image_1))   
           Box(0,0,410,435,RGB(255,255,255))
           DrawingMode(#PB_2DDrawing_Outlined)
           Circle(100,100,50,RGB(0,0,0))
         StopDrawing()
         TextGadget(#Text_4, 25, 25, 200, 20, " Cercle",#PB_Text_Border)
        Case #Button_2
         StartDrawing(ImageOutput(#Image_1))
            Box(0,0,410,435,RGB(255,255,255))
         StopDrawing()
         TextGadget(#Text_4, 25, 25, 200, 20, " Cercle effacé !",#PB_Text_Border)
        Case #Button_3
          CloseWindow(#Window_0)
          End
        Case #Text_4
        Case #String_5
        Case #Panel_6
      EndSelect
     ImageGadget(#Canvas, 365, 25, 410, 315, ImageID(#Image_1), #PB_Image_Border)
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver

; IDE Options = PureBasic 4.30 (Windows - x86)

; CursorPosition = 40

; Folding = --

; EnableXP
Théoriquement lorsqu'on appui sur le bouton dessiner ça devrai dessiner un cercle sur la surface de dessin, et le bouton effacer devrai effacer (d'où son nom :D ) ce même cercle. Le problème c'est que le cercle ne se dessine jamais sur cette surface. Pourtant avec la version 4.31 ça marche très bien. :twisted:
D'où mon interrogation est-ce que quelque chose à changé entre la version 4.31 et 4.40 Béta 6 ? Pour l'instant je n'ai rien trouvé. En version 4.40 B6 il fonctionne parfaitement sous Windows XP :roll:
J'en arrive à la conclusion que c'est la version Mac qui à un problème mais avant si quelqu'un pouvait tester sur Mac. :D

En vous remerciant par avance.
Dernière modification par Good07 le dim. 08/nov./2009 17:03, modifié 1 fois.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Ce programme ne marche plus avec la 4.40 beta x

Message par Le Soldat Inconnu »

pas de changement dans le code a partir du moment ou tu ne crée pas une image en 32 bits (ton image est en 24 donc pas de soucis)

J'ai pas de Mac pour tester mais sous Xp, c'est nickel. Regarde sur le fofo des anglais si il y a déjà qlq'un qui a eu le soucis, sinon, poste ton problème la bas.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Re: Ce programme ne marche plus avec la 4.40 beta x

Message par Good07 »

Bonjour Soldat :D
Merci pour ton conseil, effectivement j'aurai dû aller sur le forum Anglais avant de poster ici même si la réponse que j'ai trouvé ne me satisfait pas complètement. En fait il faut remettre :

Code : Tout sélectionner

CreateImage(#Image_1,410,315)
Avant d'utiliser StartDrawing ... 8O
Bon, enfin puisque ça fonctionne ...Mais encore fallait-il le savoir. :cry:
Le code suivant fonctionne parfaitement:

Code : Tout sélectionner

Enumeration
  #Window_0
  #Canvas
  #Button_1
  #Button_2
  #Button_3
  #Text_4
  #String_5
  #Panel_6
  #Image_1
EndEnumeration


  If OpenWindow(#Window_0, 20,20, 800, 400, "Essai Gadgets sur Mac", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
  CreateImage(#Image_1,410,315)
  StartDrawing(ImageOutput(#Image_1))
    Box(0,0,410,335,RGB(255,255,255))
  StopDrawing()
     ImageGadget(#Canvas, 365, 25, 410, 315, ImageID(#Image_1), #PB_Image_Border)
      ButtonGadget(#Button_1, 35, 360, 115, 25, "Dessiner")
      ButtonGadget(#Button_2, 165, 360, 115, 25, "Effacer")
      ButtonGadget(#Button_3, 300, 360, 130, 25, "Quitter")
      TextGadget(#Text_4, 25, 25, 200, 20, " Essai",#PB_Text_Border)
      StringGadget(#String_5, 30, 95, 260, 30, "ça marche !")
      PanelGadget(#Panel_6, 25, 145, 280, 100)
        ; Tab #1
        AddGadgetItem(#Panel_6, -1, "Couleur")
        ; Tab #2
        AddGadgetItem(#Panel_6, -1, "Forme")
        ; Tab #3
        AddGadgetItem(#Panel_6, -1, "Texte")
      CloseGadgetList()
   EndIf




;Event loop

Repeat
  Select WaitWindowEvent()
        Case #PB_Event_Gadget
      Select EventGadget()
        Case #Canvas
        Case #Button_1
        CreateImage(#Image_1,410,315)
         StartDrawing(ImageOutput(#Image_1))   
           Box(0,0,410,435,RGB(255,255,255))
           DrawingMode(#PB_2DDrawing_Outlined)
           Circle(100,100,50,RGB(0,0,0))
         StopDrawing()
         TextGadget(#Text_4, 25, 25, 200, 20, " Cercle",#PB_Text_Border)
        Case #Button_2
        CreateImage(#Image_1,410,315)
         StartDrawing(ImageOutput(#Image_1))
            Box(0,0,410,435,RGB(255,255,255))
         StopDrawing()
         TextGadget(#Text_4, 25, 25, 200, 20, " Cercle effacé !",#PB_Text_Border)
        Case #Button_3
          CloseWindow(#Window_0)
          End
        Case #Text_4
        Case #String_5
        Case #Panel_6
      EndSelect
     ImageGadget(#Canvas, 365, 25, 410, 315, ImageID(#Image_1), #PB_Image_Border)
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver

; IDE Options = PureBasic 4.30 (Windows - x86)

; CursorPosition = 40

; Folding = --

; EnableXP
Merci pour ta réponse. :D
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Ce programme ne marche plus avec la 4.40 beta x (Résolut)

Message par Le Soldat Inconnu »

Elle est bizarre cette solution ... plus que bizarre même ... c'est une solution provisoire en attendant la correction ?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Re: Ce programme ne marche plus avec la 4.40 beta x (Résolut)

Message par Good07 »

Aucune idée, Fred n'a pas répondu pour ce (Bug ?) sur le forum Anglais. C'est un participant qui à trouvé cette solution, mais c'est vrai que c'est bizarre. Surtout qu'avec la version 4.31 ça marchait bien et c'est avec les versions 4.40 que ça ne fonctionnait plus. :(
Peut-être que ce sera résolu avec la version finale. :D
Répondre