Rechercher : dans
Par :

Programme en vb6 [gestion mémoire]

Dernière réponse le 19 jan 2007 à 11:58:50 progg, le 11 sep 2005 à 19:36:59 
 Signaler ce message aux modérateurs

Bonjours à tous,
Je programme en vb depuis quelques années maintenant mais comme j'ai appris tout seul, j'ai des problème que je n'arrive pas à résoudre. Mon problème le plus gênant étant la gestion de la mémoire dans mes programme.
En fait j'ai une passion pour tous ce qui est générateur de nombres aléatoires et autres trucs de ce genre mais lorsque je met en marche mon prog, l'interface ce bloque tant qu'il n'a pas trouvé ce que je lui demande. Or j'aimerais bien que mon bouton stop arrête la boucle quand je clique dessus mais comme l'interface est bloqué cela ne fonctionne pas. J'ai même essayé de mettre un timer pour stopper la boucle au bout de 15s mais même le timer se bloque.

J'espère que vous avez compris mon problème car j'ai un peu de mal à le formuler vu que c'est mon plus gros problème. Alors pour simplifier je cherche comment arrêté une boucle avec un bouton stop et que mon interface ne se bloque pas.

Merci d'avance

@+

Configuration : Processeur AMD athlon 2200+ (1.8ghz) ; Windows XP

Meilleures réponses pour « Programme en vb6 [gestion mémoire] » dans :
Enterprise Resource Planning (ERP) - Progiciel de Gestion Intégr Voir Introduction aux ERP Les ERP (en anglais Enterprise Resource Planning), aussi appelés Progiciels de Gestion Intégrés (PGI), sont des applications dont le but est de coordonner l'ensemble des activités d'une entreprise (activités dites verticales...
Logiciels de gestion et comptabilité VoirLogiciels de gestion et comptabilité De nombreux logiciels sont disponibles sur le marché pour vous faciliter la gestion de votre entreprise, notamment dans le domaine de l'architecture et du bâtiment. Comptabilité, facturation, gestion...
Télécharger Diététique VoirSuivre un régime est une chose, mais mangé sainement en est une autre. Diététique est un programme de gestion de l'alimentation pour un repas équilibré. Il vous montrera la composition des aliments que vous allez prendre durant la journée. Il vous...
La gestion de la mémoire VoirDescription de la mémoire La mémoire physique sur un système se divise en deux catégories : la mémoire vive : composée de circuit intégrés, donc très rapide la mémoire de masse : composée de supports magnétiques (disque dur, bandes...
Méthodologie de gestion de projet VoirLa gestion de projet - La nécessité d'une méthodologie claire On appelle « gestion de projet » (éventuellement « conduite de projet ») l'organisation méthodologique mise en œuvre pour faire en sorte que l'ouvrage réalisé par le maître...
Introduction à la gestion de projet VoirGestion de projet On appelle projet l'ensemble des actions à entreprendre afin de répondre à un besoin défini dans des délais fixés. Ainsi un projet étant une action temporaire avec un début et une fin, mobilisant des ressources identifiées...

1

Dr.MAD, le 12 sep 2005 à 18:07:05

A mon humble avis la seule solution pour realiser deux taches en meme temps (calcul aleatoire et gestion dinterface) est des creer des "THREADS"(sortes de processus qui simulent deux activités parallèles).n'étant pas spécialiste en vb je te conseille de te referer à l'aide de ton compilo.

Répondre à Dr.MAD

2

samih, le 24 déc 2006 à 13:52:10

Hi i want your help please in vijuaj basic

Répondre à samih

3

 Blaise, le 19 jan 2007 à 11:58:50
  • +1

Vb est événementiel. Pour pouvoir arrêter, via un bouton un traitement il faut que ce dernier laisse la main à l'événment click du bouton (de même que pour l'événment Timer). Une instruction "DoEvents" permet de laisser la main au prochain évenement enattent. Si il n'y aplus d'évenment le traitement continue.

Généralement, pour arreter un traitement par un bouton Cancel, il faut décalrer une variable booleenne au niveau global (vissible par le bouton et par le traitement) gbCancel. L'initialiser au début du traitement gbCancel = false. Dans la boucle de trairtement, il faut ajouter des

call DovEvents
if (gbCancel ) then
' Sortir du traitement proprement
' fermeture des recordset ...
' déallocation des tableaux dynamiques ...

MsgBox "Traitement annulé!!!"
Exit sub
end

Dans leclic du bouton cancel, il faut simplement faire
gbCancel = true

Attention!!! DoEvents donne la main eu premier événement en attente (comme par exemple la fermeture de la fenêtre, le bouton de lancement du traitement). Il est important de ne pas pouvoir lancer deux fois le traitement. Donc il faut au debut du traitement rendre non disponible toutes les actions non souhaitable pendant celui-ci et les rendrres de nouveau disponible à la fin.

Répondre à Blaise