2010-08-20 5 views
0

J'ai une petite application pour ouvrir la porte en utilisant un contrôleur de relais. Je dois ouvrir et fermer le port COM tout le temps si quelqu'un entre. Le matin, quand beaucoup de gens se rassemblent, le contrôleur répond très lentement et j'ai besoin de résoudre ce problème rapidement.ouvrir et fermer com port

Ma question est, vais-je courir dans les problèmes de mémoire si je le garde ouvert tout le temps? va ouvrir le port recycler si l'application plante et redémarre?

+0

J'aimerais en savoir plus sur comment cela fonctionne. Pourquoi devez-vous ouvrir et fermer le port? Utilisez-vous ceci pour élever et abaisser le DTR? –

Répondre

3

Je ne pense pas que vous rencontrerez des problèmes de mémoire. J'ai écrit un programme qui utilise un scanner de code à barres qui utilise un port COM pour écouter les événements du scanner. Je l'ouvre quand le programme se lance et le garde ouvert jusqu'à ce que le programme se termine sans aucun problème. La seule chose à craindre est que le port COM ne peut être utilisé que par un objet à la fois, donc si votre programme l'a déjà ouvert et essaie de l'ouvrir à nouveau, c'est un problème. Le programme peut laisser le port COM ouvert, il est donc préférable d'essayer de l'ouvrir. Si cela échoue, essayez de le fermer (deux blocs try ... catch distincts), puis réessayez de l'ouvrir. C'est un problème, mais dans mon application, il est apparu pour réduire le nombre d'erreurs que je devais résoudre. Je viens d'ouvrir/fermer/ouvrir chaque fois que le programme se charge pour être en sécurité.

1
  • aucun problème avec le garder ouvert
  • il fermera le port com si l'application meurt

seule chose est, parfois, si vous n'arrêtez pas le port com correctement, il peut garder votre application en vie en tant que processus dans un état non mourant qui maintient le port COM.