Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : vb.net et thread (chui sur ksé tou bete!) [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (MrDogbert)

mardi 9 mars 2004 à 20:37:42 | vb.net et thread (chui sur ksé tou bete!)

MrDogbert


j ai un petit soucis:

pour faire un moteur directDraw, je veux utiliser un thread qui boucle pour afficher sans cesse a l ecran le backbuffer(pour ceux qui connaissent)
Le thread est declaré avec en param l adresse de cette fonction :

Private Sub doFrame()
'Boucle principale pour l affichage
Do
'traiter les demandes de modification
If refaireBB = True Then traiter()

'renvoyer le tout a l ecran
afficher()

Application.DoEvents() 'relacher un peu la pression

Loop While sortir = False
sortir = False
End Sub

Le probleme c est que dès la premiere iteration j ai le msg d erreur suivant :

-------------------------------------------
Une exception non gérée du type 'System.InvalidCastException' s'est produite dans testDirectX.exe

Informations supplémentaires : Échec de QueryInterface pour l'interface DxVBLib.DirectDrawSurface7.
-------------------------------------------


Le code fonctionne parfaitement lorsque je n utilise pas de thread mais cela ne m arrange pas de laisser le trhread principal de l appli se charger de ca.
Les objets cités dans le code ont bien le bon type, normalement il y a tout ce qu il faut. alors? avez vous une solution docteur?

merci d avance a celui ou ceux qui pourront m aider

MRDOGBERT

mardi 9 mars 2004 à 20:54:03 | Re : vb.net et thread (chui sur ksé tou bete!)

MrDogbert


Petite rectification, le code que j ai donné appel en fait ce code ci :

Private Sub redrawBackground()
If sortir = False Then
backBuffer.Blt(backBufferRect, _
background, _
backgroundRect, DDBLT_WAIT)
End If
End Sub

et c'est lui qui plante.
Precision, c est le premier code parcouru à traiter avec directX, si je le desactive, le suivant plantera avec le meme msg d erreur.

MRDOGBERT

mardi 9 mars 2004 à 22:43:21 | Re : vb.net et thread (chui sur ksé tou bete!)

MrDogbert


Je m eclate tout seul a repondre a mes messages mais c est pour dire cette fois que j ai finalement trouvé ou etait le probleme.

Le thread ne peut pas accéder a certains objets du module dans le lequel il est déclaré, pour pallier au probleme utiliser ce code:

Dim lds As LocalDataStoreSlot
lds = thread.GetNamedDataSlot("background")
thread.SetData(lds, background)


Ca pourra peut etre en interesser quelques uns...


MRDOGBERT



Cette discussion est classé dans : net, vb, thread, chui, ksé


Répondre à ce message

Sujets en rapport avec ce message

problem en program chat vb.net [ par soudani_brahim ] Bonjour, mes amis que je veux faire le programme qui peut envoyer le texte entre le PC de remorquage (exp : la causerie) mais moi a eu un problème dan Thread VB.net [ par lscar ] Bonjour En fait j'aimerais utiliser des threads dans mon application alors j ai commencé à faire des tests j'ai declaré 2 threads qui lancent une meme Thread en vb.net [ par dimitriusai ] Bonsoir,j'aimerai avoir l'avis de pro pour ce qui est la gestion des threads.En fait je ne sais pas ce qui est le mieux pour fermer le thread, et pe l Thread vb.net utilisation de la memoire [ par FLO1978 ] Bonjour , J'effectue actuellement un logiciel utilisant les trhreads,Je n'arrive malheuresement pas a géré la mémoire utilisé par ces thread ainsi que directX avec Thread (vb.net) [ par MrDogbert ] J essaie de faire un prototype utilisant DirectDraw sous vb.net et pour cela j ai besoin d un objet DirectX dans ma classe ou module peu importe (ou u Thread timer vb.net [ par elofab ] Bonjour à tous, je dois créer une application console qui tournera en boucle.J'utilise vb.netJ'ai donc créé dans mon application une classe Minuteur d [VB.NET]Socket [ par shadow1779 ] j'ai vu un bon tuto sur les sockets en VB.NET cependant je me pose quelques questions,déja comment savoir si je suis vraiment connecté au socket (quan [VB.NET]Creer une thread [ par shadow1779 ] Bonjour,je cherche a créer une seconde thread facilement dans mon programme, j'ai fait dans mon projet une class, s'appelant Donnees.vb, dans celle ci VB.Net Position d'un GroupeBox [ par MagDix ] Salut...J'ai un problème très bête.J'ai 2 Form dans mon code... quand je clqieu sur un bouton ca fais disparaitre la premiere form et apparaitre la se


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.