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

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

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

Message 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.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

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

Message 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

Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

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

Message 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
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

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

Message par falsam »

Bonjour Good007. Avec ton code, sous window 7, j'ai bien une image qui ne s'efface pas.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

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

Message 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. :(
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

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

Message 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

Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

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

Message 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
Fred
Site Admin
Messages : 2648
Inscription : mer. 21/janv./2004 11:03

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

Message 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.
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

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

Message 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
Fred
Site Admin
Messages : 2648
Inscription : mer. 21/janv./2004 11:03

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

Message 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 ;)
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

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

Message 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
Répondre