Utilisateur anonyme
-
4 mai 2005 à 19:47
Utilisateur anonyme -
5 mai 2005 à 11:07
bonsoir, j'ai un probleme que je n'arrive pas a resoudre paarrce que je ne vois pas ce qui ne va pas !!!
voici l'enoncé :
2 programmes en vb : prog1 et prog2 (prog2 compilé en exe)
les deux programmes communiquent avec les api send_message
jusque la ca marche.
prog1 envoi un message a prog2, tout se passe bien
prog2 lui repond, tout va bien toujours...
la ou ca cloche, c'est dans le code de prog2
apres avoir envoyer le message, il doit se quitter, mais au lieu de le faire silencieusement, il me balance une belle fenetre windows qui me dit que le prog doit etre fermé, etc, etc on connait la chanson.
Avec un unload form ca marche pas non plus.
Peut etre est-ce du a un conflit avec l'api send_message, car le end est placé juste apres.
En revanche, si je quitte prog2 avec une autre fonction (genre un commandbox qui contient un end) ca marche.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 mai 2005 à 01:31
Ah Ok.
Il faut toujours penser à laisser le temps au système d'exécuter les ordres qui vont vers d'autres objets.
Donc, si tu fais un SendMessage et que tu mets le End aussitôt derrière, l'OS n'a pas eu le temps de faire le SendMessage. Puisque tu lui demandes de fermer l'instance qui a créé l'action qui est en mémoire, l'OS te signale qu'il ne peut pas exécuter cet ordre s'il n'y a plus de référence à l'origine (comme si tu téléphonais à qqun et tu vas faire un tour ailleurs)
Pour arranger ça, suffit de mettre un DoEvents avant le End, ça devrait suffire à résoudre ce blem.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)