Accueil > Forum > > > > Probléme avec DoEvents
Probléme avec DoEvents
jeudi 26 janvier 2006 à 11:02:09 |
Probléme avec DoEvents

lbch1974
|
Salut Merci d'avance pour vos aides. J'est réalisé un programme en visual basic 6.0 qui reçoit les données a travers le com1 et le com2 pour cela j'est travaillé avec la procédure d'évenement OnComm() du contrôle OnComm qui ce déclanche automatiquement des que le port série (Com1 ou Com2) reçoit des données. a l'intérieur de cette procédure j'est utilisé le syntaxe suivant : Do DoEvents tampon_ptb220 = tampon_ptb220 & mscPTB220.Input Loop Until InStr(tampon_ptb220, Chr$(13) & Chr$(10)) A l'execution du programme et aprés quelque minute il envoi le message d'erreur suivant "Erreur d'execution 28 espace de pile insuffisant" et quand je fait le débogage il me signale que l'erreur et au niveau du syntaxe DoEvents . Sachant que lorsque je met DoEvents en commentaire le SE se plante. Merci
|
|
jeudi 26 janvier 2006 à 11:11:04 |
Re : Probléme avec DoEvents

econs
|
C'est certainement ta variable tampon_ptb220 qui explose. Elle doit contenir trop d'éléments.
tampon_ptb220 prend trop de mémoire, et au moment où DoEvents la sollicite, c'est la goutte qui fait déborder le vase.
Mais ton problème doit bien se situer sur ta boucle Do ... Loop.
Soit elle ne s'arrête jamais, soit il y a trop d'input avant de recevoir le caractère de fin.
1ère possibilité à privilégier.
Manu ------------------------------------------- Une question bien posée, c'est une chance de réponse bien adaptée.
|
|
jeudi 26 janvier 2006 à 11:23:36 |
Re : Probléme avec DoEvents

perathoner
|
Hello.
Elle est de quel type ta variable tampon_ptb220 ???
Pourquoi ne met tu pas un tableau d'octets à la place ??? (ex : Dim toto() as Byte)
J'imagine que t'es données reçu sur des COM1 et COM2 ont un
protocole... ex protocole Modbus... donc t'es données sont
encapsulées... suivant une trame que toi tu décode par la suite..pour
que t'es données ais un sens. Donc en fonction de ton protocol tu
devrais faire n tableau d'octets ou d'autres chose !!! je ne connais
pas ton projet... à toi de voir..
@+
|
|
jeudi 26 janvier 2006 à 11:31:58 |
Re : Probléme avec DoEvents

perathoner
|
Re..
Ou bien le pb vient du fait que ta boucle est infinie... c'est à dire que ta condition de stop n'arrive jamais...???
Moi perso j'ai eu plusieurs fois ce message et à chaque fois c't un pb de boucle infini...voilà.
@+
|
|
jeudi 26 janvier 2006 à 11:49:02 |
Re : Probléme avec DoEvents

lbch1974
|
Merci Mon variable tampon_ptb220 est de type string sachant qu' a l'execution du programme il ya récéption des données et le programme le traite et l'affiche dans un TextBox . Mais le message d'erreur se manifeste aprés quelque minute
|
|
jeudi 26 janvier 2006 à 12:06:09 |
Re : Probléme avec DoEvents

acecel
|
Oui car la condition pour sortir de la boucle n'est jamais vérifiée, donc ta variable Tampon se remplit jusqu'à saturation. De plus ta boucle fait appel sans cesse à la fonction .input de ta variable mscPTB220, et ce de manière asynchrone, c'est à dire qu'il n'attends pas que l'execution de cette fonction soit finie avant de continuer la procédure, et donc il l'appelle sans cesse, jusqu'à ce qu'il y ait trop d'appels dans la pile mémoire, et là ca plante. Enfin je croit 
|
|
jeudi 26 janvier 2006 à 12:18:44 |
Re : Probléme avec DoEvents

perathoner
|
Re.
L'idée à mon sens, s'est qu'il faudrait que tu détermine une procédure
pour déterminer quand dois tu lire ton buffer de réception, et quand ne
dois tu pas lire.
ex : On part du principe que ton buufer de réception est vide.
Quand tu vois qu'il y a des données qui
viennent d'arriver, tu ne fais rien et tu attend qu'il n'y ai plus de
mouvement pour aller les lire.
Là tu regarde le nombre d'octets que tu
as reçu. En fonction de ce nombre tu dimmensionne un tableau d'octets.
Dans lequel tu stocke ta trame.
Puis dans une boucle, tu décode toute ta trame...
Je sais pas si ça t'aide..??
|
|
jeudi 26 janvier 2006 à 12:30:06 |
Re : Probléme avec DoEvents

lbch1974
|
Merci Monsieur perathoner mais je vous signale que la boucle ne s'execute pas à l'infini car sinom le prgramme ne va pas afficher la valeur suivante qui est différente de la valeur précédente.
|
|
jeudi 26 janvier 2006 à 13:18:57 |
Re : Probléme avec DoEvents

econs
|
"Et pourtant elle tourne"  ... à l'infini
DoEvents n'a jamais fait planter quoi que ce soit. Ton message d'erreur provient bien de la pile. acecel t'a mis sur la voie dans un précédent message.
Manu------------------------------------------- Une question bien posée, c'est une chance de réponse bien adaptée.
|
|
jeudi 26 janvier 2006 à 13:42:53 |
Re : Probléme avec DoEvents

acecel
|
Au lieu d'utiliser une boucle, essaye plutôt d'utiliser un timer, en définissant un intervalle qui s'accorde bien avec la vitesse de réception des données sur ton port COM. Dès que le programme ne recoit plus de donnée, affiche la variable Tampon à l'ecran, et réinitialise là.
Car à mon avis, la boucle est "trop rapide" pour recupérer les informations sur le port COM, lui n'arrive plus à suivre, la pile mémoire se sature, et donc ca plante.
|
|
Cette discussion est classée dans : erreur, doevents, probléme, tampon, ptb220
Répondre à ce message
Sujets en rapport avec ce message
Probléme d'empaquetage et surtout de déploiement [ par energiez ]
Bonjour!Tout d'abord merci a ceux qui m'aideront.J'ai créer un petit logiciel intégrant une base de données gérée grace une DAO (microsoft DAO 2.R/3.5
recordset probléme [ par philo71 ]
Bonjour,je vous expose rapidement ma config, je fait une appli en vb 6 , avec sql serveur.Les requétes sont effectuées a tranvers un adodc, mon record
Probléme avec les ImageList [.net] [ par Charles Racaud ]
Bonjour, Problème étrange avec VB.net 2003 Tout allait bien dan
Erreur 32765 [ par Yaoel ]
Bonjour, j'ai une erreur quand j'ouvre un COMMON DIALOG : ( Info d'erreur : 32765 la fonction commune de dialogue a échoué au cours d'initialisation.
Probléme avec Dialogue.ShowFont [ par electroremy ]
Bonjour à tous !Quand je lance Dialogue.ShowFont, j'obtiens une erreur comme quoi aucune police n'est installée sur mon ordi puis un message avec un n
MSDN Probléme d'affichage [ par TomIlliev ]
Bonjour à Tous,J'avais demandé il y a 10 jours environ où trouver la MSDN en français.Mortalino m'a donné un adresse je l'ai téléchargée, est installé
Excel: Erreur de fichier: Rusque de perte de donnée [ par ngus1er ]
Bonjour à tous, Voila, je travail sur une base de donnée documentaire sous excel. Il comporte beaucoup de macro, dont une assez concéquante, il est d
probléme lié à adodc sous windows 7 [ par ndaseraphin ]
Bonjour, Voici mon problème.J'ai une application que j'ai conçue sous vb6 sous windows XP SP2 et sous windows xp tous les formulaires peuvent être uti
erreur 429 [ par apsuria ]
gap J'ai un petit programme qui me passe des variable de EXCEL vers WORD qui marche trés bien sur PC. En le démarrant avec EXCEL 2011 sur MAC, il me
erreur [ par fokis ]
Slt, j'ai un problem avec mon projet, lorsque j'éssai d'exécuter une commande avec comme code " set rs = new ADOBD.Recordset rs.open " select * from
Livres en rapport
|
Derniers Blogs
[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|