Salut, j'ai un probleme quand j'utilise la fonction API=20
WaitCommEvent sous un systeme XP avec Excel ds le langage=20
VBA. L'erreur 996 =3D ERROR_IO_PENDING apparait a chaque=20
fois. Avant d'appeler la fonction, je la configure comme=20
il suit :
DIM o, async As OVERLAPPED
DIM nbwrite, test As Long
DIM nil As SECURITY_ATTRIBUTES
DIM myDCB As DCB
=20
ret =3D SetCommMask(Open_port, (EV_TXEMPTY Or=20
EV_RXFLAG))
o.hEvent =3D CreateEvent(nil, False, False, "emission")
o.Internal =3D 0
o.InternalHigh =3D 0
o.Offset =3D 0
o.OffsetHigh =3D 0
ret =3D ResetEvent(o.hEvent)
Je transmet le caractere sur le port serie avec la=20
fonction WriteFile comme il suit ...
... ret =3D WriteFile(hCommFile, &H5, 1, nbwrite,=20
async) ...
Et j'attend l'evenenement ds la variable test mais le=20
resultat est toujours nul et l'erreur qui en resulte est=20
de code 996.
ret =3D WaitCommEvent(hCommFile, test, async)
Sinon, je n'arrive pas non plus a transmettre=20
correctement le caractere ... seulement 7 bit sur 8 sont=20
emis, et le bit de parit=E9 ne sort pas non plus alors que=20
je l'ai configurer pour avoir ue parite paire.
=20
Open_port =3D CreateFile(port, GENERIC_WRITE, 0&, nil,=20
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)