Page 1 sur 1

Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 15:59
par Good07
Bonjour à tous,

Je viens de charger la version 4.70 Béta 1.5 et j'ai un petit problème d'affichage et je voudrais savoir si les utilisateurs de Mac ont le même ou si c'est moi qui commet une erreur quelque part ( Commande qui aurait changée ou autre...)
Voilà le programme de test que j'utilise et qui marche bien avec la version 4.61 x86 et qui ne marche plus avec la version 4.70 Béta 1.5 x86 ou x64.
En fait, la fenêtre s'affiche, le contenu aussi juste le temps de le voir, puis j'ai une fenêtre vide. Voici le programme:

Code : Tout sélectionner

#Width=1024
#Height=768

If OpenWindow(0, 0, 0, #Width, #Height, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0 
  End
EndIf

LoadFont(1,"Times New Roman",36)
StartDrawing(WindowOutput(0))
Box(0,0,#width,#Height,RGB(255,255,240))
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID(1))
DrawText(10,10,"Ceci est un essai",RGB(0,0,0))
Circle(100,100,50,RGB(26, 237, 229))
DrawingMode(#PB_2DDrawing_Outlined)
Box(399,199,152,122,RGB(0,0,0))
DrawingMode(#PB_2DDrawing_Default)
Box(400, 200, 50, 120,RGB(17, 26, 238))
Box(450, 200, 50, 120,RGB(255, 255, 255))
Box(500, 200, 50, 120,RGB(242, 18, 13))
DrawingMode(1)
For Angle = 0 To 360 Step 3
        LineXY(100, 300, 100+Cos(Angle)*90, 300+Sin(Angle)*90, RGB(Random(255), Random(255), Random(255)))
Next Angle

StopDrawing()


Repeat
  Event = WaitWindowEvent()  
Until Event = #PB_Event_CloseWindow
End
Si vous pouviez tester pour savoir si ça vient de moi. :(
Merci d'avance.
Good07.

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 16:16
par Backup
essaye comme ça pour voir

Code : Tout sélectionner

#Width=1024
#Height=768

If OpenWindow(0, 0, 0, #Width, #Height, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) 
	
	
	
	LoadFont(1,"Times New Roman",36)
	StartDrawing(WindowOutput(0))
		Box(0,0,#width,#Height,RGB(255,255,240))
		DrawingMode(#PB_2DDrawing_Transparent)
		DrawingFont(FontID(1))
		DrawText(10,10,"Ceci est un essai",RGB(0,0,0))
		Circle(100,100,50,RGB(26, 237, 229))
		DrawingMode(#PB_2DDrawing_Outlined)
		Box(399,199,152,122,RGB(0,0,0))
		DrawingMode(#PB_2DDrawing_Default)
		Box(400, 200, 50, 120,RGB(17, 26, 238))
		Box(450, 200, 50, 120,RGB(255, 255, 255))
		Box(500, 200, 50, 120,RGB(242, 18, 13))
		DrawingMode(1)
		For Angle = 0 To 360 Step 3
			LineXY(100, 300, 100+Cos(Angle)*90, 300+Sin(Angle)*90, RGB(Random(255), Random(255), Random(255)))
		Next Angle
		
	StopDrawing()
	
	
	Repeat
		Event = WaitWindowEvent() 
	Until Event = #PB_Event_CloseWindow
EndIf
End
; EPB


Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 16:32
par Good07
Bonjour Dobro content de te lire, :D

Malheureusement, le problème reste le même. :(
Je ne sais pas si ça marche sous windows, mais sous Mac impossible d'avoir l'image, elle s'affiche et s'efface aussitôt. :(

Sous windows pas de problèmes ?

Merci en tous cas pour ta réponse.

J'ai oublié de mettre ma configuration:
IMac Intel core 2 Duo 2,93 Ghz
Mémoire 4 GB 1067 MHz DDR3
Mac OSX version 10.7.4

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 16:41
par falsam
Bonjour Good007. Avec ton code, sous window 7, j'ai bien une image qui ne s'efface pas.

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 16:50
par Good07
Bonjour Faisam,

Merci pour ta réponse. En fait, j'ai oublié aussi de dire que sous Mac, la fenêtre reste ouverte, mais que c'est son contenu qui disparaît. :(
Pour l'instant, il semble bien que le problème soit uniquement sous Mac. :(

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 17:03
par kernadec
bonjour André
content de te lire
peut être avec une imagegadget; mais je pense que tu as essayé

Cordialement

Code : Tout sélectionner

#Width=1024
#Height=768

If OpenWindow(0, 0, 0, #Width, #Height, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0 
	End
EndIf
CreateImage(0,#Width, #Height,32)
LoadFont(1,"Times New Roman",36)
StartDrawing(ImageOutput(0))
Box(0,0,#width,#Height,RGB(255,255,240))
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID(1))
DrawText(10,10,"Ceci est un essai",RGB(0,0,0))
Circle(100,100,50,RGB(26, 237, 229))
DrawingMode(#PB_2DDrawing_Outlined)
Box(399,199,152,122,RGB(0,0,0))
DrawingMode(#PB_2DDrawing_Default)
Box(400, 200, 50, 120,RGB(17, 26, 238))
Box(450, 200, 50, 120,RGB(255, 255, 255))
Box(500, 200, 50, 120,RGB(242, 18, 13))
DrawingMode(1)
For Angle = 0 To 360 Step 3
				LineXY(100, 300, 100+Cos(Angle)*90, 300+Sin(Angle)*90, RGB(Random(255), Random(255), Random(255)))
Next Angle

StopDrawing()
ImageGadget(0,0,0,#Width, #Height,ImageID(0))

Repeat
	Event = WaitWindowEvent()  
Until Event = #PB_Event_CloseWindow
End


Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 17:18
par Good07
Bonjour Kernadec,
Content de te lire aussi. :D Mon programme d'astrologie n'est toujours pas fini, un jour peut-être ? :(

Par contre, tu as raison, avec une imagegadget ça marche, mais avec la 4.61 ça marchait aussi avec une fenêtre. :D
Bon, je pense qu'il y a encore des bugs dans la version Mac. :( Je vais attendre les corrections. Par contre si quelqu'un avec un Mac passe par là, je ne serai pas contre un petit test pour savoir si ça vient de ma configuration.

Merci pour vos réponse.

Good07

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : dim. 12/août/2012 17:34
par Fred
Il faut mettre le code de dessin dans l'evenement #PB_Event_Repaint. Essaie de sortir ta fenetre sous windows ou de faire passer une autre fenetre devant et ca va s'effacer.

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : lun. 13/août/2012 20:51
par Good07
Bonsoir Fred,

Je pense que je me suis mal exprimé pour mon problème sous Mac. Lorsque je lance ce programme, la fenêtre s'affiche, mais son contenu s'affiche 1/10 eme de seconde et s'efface sans toucher la fenêtre ou en ouvrir une autre par dessus. En version 4.61 sous mac, ce programme fonctionne parfaitement.
La solution de Kernadec fonctionne parfaitement si on remplace

Code : Tout sélectionner

StartDrawing(WindowOutput(0))
par

Code : Tout sélectionner

StartDrawing(ImageOutput(0))
En fait, on ne peut pas dessiner ou écrire dans une fenêtre, ça ne marche pas. :(
Sous Windows, ce programme fonctionne parfaitement, mais pas sous Mac. :( Je pense que c'est un bug de la version 4.70, puisqu'il fonctionne parfaitement en 4.61, mais j'aimerais que quelqu'un le teste sous Mac pour pouvoir confirmer. :D
Merci à tous ceux qui se penchent sur le problème.
Good07

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : lun. 13/août/2012 23:36
par Fred
Le code correct pour utiliser WindowOutput() c'est ca:

Code : Tout sélectionner

#Width=1024
#Height=768

If OpenWindow(0, 0, 0, #Width, #Height, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0
  End
EndIf

LoadFont(1,"Times New Roman",36)

Repeat
  Event = WaitWindowEvent() 
  
  If Event = #PB_Event_Repaint And EventWindow() = 0
    StartDrawing(WindowOutput(0))
    Box(0,0,#width,#Height,RGB(255,255,240))
    DrawingMode(#PB_2DDrawing_Transparent)
    DrawingFont(FontID(1))
    DrawText(10,10,"Ceci est un essai",RGB(0,0,0))
    Circle(100,100,50,RGB(26, 237, 229))
    DrawingMode(#PB_2DDrawing_Outlined)
    Box(399,199,152,122,RGB(0,0,0))
    DrawingMode(#PB_2DDrawing_Default)
    Box(400, 200, 50, 120,RGB(17, 26, 238))
    Box(450, 200, 50, 120,RGB(255, 255, 255))
    Box(500, 200, 50, 120,RGB(242, 18, 13))
    DrawingMode(1)
    For Angle = 0 To 360 Step 3
      LineXY(100, 300, 100+Cos(Angle)*90, 300+Sin(Angle)*90, RGB(Random(255), Random(255), Random(255)))
    Next Angle
    
    StopDrawing()
  EndIf
  
Until Event = #PB_Event_CloseWindow
End
ps: c'est pas parce que ca marchait avant que c'était forcement bon ;)

Re: Problème avec PureBasic 4.70 Béta 1.5 x86 ou x64

Publié : mar. 14/août/2012 7:40
par Good07
Bonjour Fred,

Merci pour ton aide, effectivement comme cela, ça marche nickel. :D Bon, ce code n'a en soi aucune valeur, il me sert simplement à tester le dessin dans une fenêtre, il faut simplement que je change ma façon de programmer.
J'espère que ça servira aux autres utilisateurs de Mac. Comme je dis souvent, il vaut mieux un qui sait que trois qui cherchent. :D

Merci encore pour ton aide.

Good07