Bonjour,
J'ai un cas de figure assez tordu... Je vais essayer d'etre clair et concis:
J'ai un périférique avec lequel je communique en RS232 à l'aide d'une DLL (qui gère la connexion de A à Z).
J'ai envie d'automatiser la communication (au lieu de cliquer sur un bouton, lancer automatiquement la liaison).
Pour ça, j'ai besoin d'ouvrir le port COM et de lançer régulièrement une commande... S'il y réponds, on lance la DLL.
Seulement, la DLL ouvre elle même le port, je suis donc obligé de le fermer avant de la lancer... Et c'est là que ça bloque.
IMPOSSIBLE de fermer le port suite à une lecture dessus, il doit y avoir des choses qui trainent... Voici mon code:
Qu'est ce qu'il se passe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TfrmMain.cpMainRxChar(Sender: TObject; Count: Integer); var nb: Integer; begin nb := cpMain.ReadStr(ligne,maxCount); // Vide le tampon fermerCOM; // CA PETE ICI !!! lanceDLL(); end;
Partager