begin process at 2012 02 16 15:56:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Multimédia

 > 

DirectX

 > 

Problème de boucle DirectX ...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de boucle DirectX ...

mercredi 20 décembre 2006 à 17:56:05 | Problème de boucle DirectX ...

nico1610

Membre Club
Bonjour à tous,

Voila à quoi resemble mon code :

Public bRun as Boolean
Private Sub
Form_Load()
       bRun =
True
       Me.show
  
    Call Init
       Form2.visible =
True
       Timer1.enable =
True
End Sub

Sub Init()

    While bRun
        ... 'Code directX de la boucle de rendu
    WEnd

End Sub
(c'est simplifié pour ne montrer que le problème au quel je fait face !)

Mon problème est le suviant : Quand je lance ma form (Form_Load) la boucle infinie s'enclanche et c'est normal (c'est comme ca pour le directX) et a ce moment là : Plus de reponce de Form_Load (normal, il attend la fin de init qui ne se fait qu'a la fin du programme) or, je veut lancer Form2 et Timer1, et ca avant Init, donc ce que je veut c'est que j'ai un Callqui ne fasse que lancer la sub et qui n'attend pas la fin de l'instruction pour lacher la main !

Bien sur si vous avez une remarque du style
 c'est moche le "Timer1" , nome tes composants!
Vous pouvez passer votre chemin !


Je cherche uniquement à faire ca :
un Callqui ne fasse que lancer la sub et qui n'attend pas la fin de l'instruction pour lacher la main ! Et avoir un code simple du style :

            
CallWithOutWait Init

J'attend avec impatience vos reponces, Ergo5.

   
mercredi 20 décembre 2006 à 18:32:50 | Re : Problème de boucle DirectX ...

Julien237

Salut, Ce que tu veux faire, c'est du multithreading, en vb6 c'est (quasi pour les puristes) impossible. Il faut faire du vb2005. Néanmoins en vb, je te déconseille grandement de faire une boucle infinie pour du directx. En général la boucle "infinie" de ton programme (i.e. la boucle générale qui gère les messages) est tranquillement gérée par vb et tu n'as qu'à t'occuper de gérer des évènements. A ta place, ce que je ferais, c'est utiliser un timer pour le rendu (avec un interval style 40 ms) que tu lance à ton Call Init : 'Public bRun as Boolean Private Sub Form_Load() 'bRun = True 'Tu remplaces bRun par TmrDraw.Enabled partout Me.show TmrDraw.Interval = 40 TmrDraw.Enabled = True 'Call Init Form2.visible = True Timer1.enable = True End Sub Sub TmrDraw_Tick() ... 'Code directX de la boucle de rendu End Sub Si tu tiens vraiment à ta boucle infinie, tu dois mettre un DoEvents dedans afin que vb puisse gérer les messages en attente à ce moment là et ainsi éviter que ton prog ne plante... Mais je te conseille de faire comme je t'ai dis... Julien.
mercredi 20 décembre 2006 à 22:14:47 | Re : Problème de boucle DirectX ...

nico1610

Membre Club
Ok pour ce que tu viens de me dire, tu ne m'apprend rien, elas !!

Enfin, pour le timer, je n'ai pas encore essayé , mais ca m'a l'ai un peu dommage quand je peut monter a 1035 FPS, avec un timer de 40ms, ca va faire tomber les performances !
Mais bon pas besoin de 1035, 40 suffise donc j'essayerai le timer, mais dommage.

Merci quand même , je donne pas de "reponce accepté" car c'est pas ce que je voulais te réponce,
donc si quelqu'un a de quoi faire du MultiThrainig en VB je suis preneur !
mercredi 20 décembre 2006 à 22:22:49 | Re : Problème de boucle DirectX ...

Julien237

Non en effet, vraiment pas besoin de 1035 FPS, si tu veux tu peux mettre le timer plus bas... Mais 40 c'est la valeur conseillées par microsoft dans le sdk, et je me dis qu'ils s'y connaissent... Pour le multithreading (tu nous invente un fameux mot sur ce coups là :p), n'espère rien de mieux qu'un DoEvents en vb6. Ca n'existe pas. Il faut passer en .Net pour avoir du multithreading. Mais même la je vois pas l'intérêt pour faire du directX... Mais bon, chacun ses vaches... Julien.
mercredi 20 décembre 2006 à 23:57:33 | Re : Problème de boucle DirectX ...

nico1610

Membre Club
En effet comme tu m'as dit c'est largement suffisant puis sa bouffe pas tout l'uc !!


Cette discussion est classée dans : problème, boucle, form, directx, init


Répondre à ce message

Sujets en rapport avec ce message

Affiche de form dans une boucle [ par Mekhanik ] Voilà mon problème : J'ai une form d'affichage de résultat. Cette form s'affiche par MaForm.show et le bouton suivant de la form déclenche MaForm.hide Boucle sur nom de feuille [ par 91arno78 ] Salut tout le monde je suis un petit nouveau dans le circuit!!!Voilà j'ai un petit problème et j'espère que l'un de vous pourra m'aider:j'aimerais fai problème de textbox... [ par Sator2 ] Voilà quel est mon problème: j'ai une série de textBox donc j'en ai fait un groupe de contrôle pour les afficher par boucle....bref je veux dans certa taille maxi d'une form [ par schum_63 ] Bonjours à tous,mon problème est que je travail dans une entreprise qui ma demander d'informatiser la saisie d'un formulaire et ce meme formulaire s'é Aide vbA svp [ par nostra78 ] J'ai des cellules qui sont sous la forme suivante a/b (exemple : 0/2, 1/3...)Je veux additionner les b de toutes mes cellules.b = Right$(a/b,1)Par con problème de récupération de vbKeyCode/vbKeyAscii [ par agnescol ] Bonjour, Je travaille sur un programme pour les aveugles et donc avec une synthèse vocale. J'ai une textBox mutiligne et je dois récupérer lorsque l' Problème liés à l'impression d'une form [ par seboune76 ] J'aimerais savoir si l'on peut modifier les marges d'impression pour que ma form s'imprime au milieu de ma feuille. Actuellement, elle s'imprime en ha Vitesse d'exécution du PHP [ par Knolan ] Salut,Alors voila mon problème: j'ai une page PHP que j'appelle un nombre n de fois, seulement le traitement de cette page est long, l'appel de cette Problème avec un form [ par Sytchev3 ] Je développe une appli en VB6 et je souhaiterais empêcher l'utilisateur d'agrandir la fenêtre (en plein écran) et de la redimensionner mais il faut qu [VB6] Problème avec la croix pour fermer une application [ par NeT_SlipKnoT ] Bonjour,j'ai un problème au niveau de mon programme VB. Mon projet est constitué de plusieurs forms dont 1 qui est le form principal (le menu). A part


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales