Est-ce un bug ? ou c'est moi qui déconne (une fois de plus)

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Est-ce un bug ? ou c'est moi qui déconne (une fois de plus)

Message par Thyphoon »

Désolé pour le sujet .. je ne savais vraiment pas quoi mettre.
Je m'explique.J'ai besoin d'une application en plein écran, qui puisse lancer une autre application et revenir dans son état initiale.
Voici un code simplifié:
application normal vous pouvez bouger la souris. Un clic de souris et sa lance la calculette (c'est juste pour la demo)
Si vous fermez la calculette ça doit revenir a l'application en plein ecran...

Et là je ne sais pas pourquoi c'est comme si le bouton de la souris était toujours appuyé ... résultat ça boucle a l'infinie sur la calculette..

Quelqu'un a une idée ?
PS: J'en parle aussi le forum anglais .. http://www.purebasic.fr/english/viewtop ... =4&t=51830

Code : Tout sélectionner

If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
  MessageRequester("Error", "Can't open the sprite system", 0)
  End
EndIf

Repeat
  
  ExamineDesktops()
  OpenScreen(DesktopWidth(0), DesktopHeight(0), DesktopDepth(0),"test")

  Launch=#False
  Repeat
    
;
    ExamineMouse()
    
    ExamineKeyboard()
    If KeyboardPushed(#PB_Key_Escape): End : EndIf  
    If MouseButton(#PB_MouseButton_Left) And   Launch=#False
      Launch=#True
    EndIf
    
    ClearScreen(RGB(0,0,0))
    StartDrawing(ScreenOutput())
    Circle(MouseX(),MouseY(),24,#Red)
    StopDrawing()
    FlipBuffers()       ; Inverse the buffers (the back become the front (visible)... and we can do the rendering on the back
    
  Until  Launch=#True
  CloseScreen()
  RunProgram("calc.exe","","",#PB_Program_Wait)
  Delay(500)
ForEver
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Est-ce un bug ? ou c'est moi qui déconne (une fois de pl

Message par Le Soldat Inconnu »

bizarre en effet

c'est la seule solution que j'ai trouvé :

Code : Tout sélectionner

If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
	MessageRequester("Error", "Can't open the sprite system", 0)
	End
EndIf

Repeat
	
	ExamineDesktops()
	OpenScreen(DesktopWidth(0), DesktopHeight(0), DesktopDepth(0), "test")
	Delay(500)
	Launch = #False
	Repeat
		
		ExamineMouse()
		ExamineKeyboard()
		
		If KeyboardPushed(#PB_Key_Escape) : End : EndIf
		
		If MouseButton(#PB_MouseButton_Left)
			Launch = #True
		EndIf
		
		ClearScreen(RGB(0, 0, 0))
		StartDrawing(ScreenOutput())
			Circle(MouseX(), MouseY(), 24, #Red)
		StopDrawing()
		FlipBuffers() ; Inverse the buffers (the back become the front (visible)... and we can do the rendering on the back
		
	Until Launch = #True And MouseButton(#PB_MouseButton_Left) = 0
	CloseScreen()
	RunProgram("calc.exe", "", "", #PB_Program_Wait)
	
ForEver
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)]
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: Est-ce un bug ? ou c'est moi qui déconne (une fois de pl

Message par Thyphoon »

merci beaucoup Le Soldat Inconnu, je vais te piquer ta solution.
Moi j'avais finit par remplacer "MouseButton(#PB_MouseButton_Left)" par "GetAsyncKeyState_(#VK_LBUTTON) et ça fonctionnait
mais ta solution est plus purebasic friendly !! :P
Sur le forum anglais j'ai quelques reponses aussi... ce que j'ai du mal a savoir si c'est un bug ou si c'est une erreur de ma part dans l'utilisation de ExamineMouse/MouseButton est ce que comme pour les Events des windows il n'y aurait pas un tampon a purger ou une façon de faire ....
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: Est-ce un bug ? ou c'est moi qui déconne (une fois de pl

Message par Thyphoon »

Fred a corrigé le Bug (Voir le sujet sur le forum anglais) :D
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Est-ce un bug ? ou c'est moi qui déconne (une fois de pl

Message par Le Soldat Inconnu »

Chouette
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)]
Répondre