Ptit probl with:WriteFile() et ReadFile()

oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004 - 8 juin 2004 à 18:22
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 8 juin 2004 à 18:27
salut tout le monde,
J'ai un petit problem avec WriteFile() et ReadFile().
lors de la compilation j'ai les deux suivantes erreures:

*************************************
error C2665: 'WriteCOM' : none of the 3 overloads can convert parameter 3 from type 'unsigned long'
**************************************
error C2665: 'ReadCOM' : none of the 2 overloads can convert parameter 3 from type 'int'
**************************************
est ce que quelqu'un veut bien m'aider merci

en fait j'apelle à l'intérieur de mon programme de la façon suivante deus fonctions que j'ai définies ReadCOM et WriteCOM:
....
else
{
resultat=WriteCOM(argv[3], (unsigned long) nBytesToWrite, (unsigned long)* pBytesWritten);
}
....
case CT_RECEVOIR:
resultat=ReadCOM(g_buffer, nBytesToRead, * pBytesRead);
.....
/****************WriteCOM********************/
int WriteCOM(char *text, unsigned long nBytesToWrite, unsigned long* pBytesWritten)
{
strcpy(g_buffer, text);
strcat(g_buffer, "\r\r\n\n");

/* écriture sur le port */

if(WriteFile(g_hCOM, g_buffer, nBytesToWrite, pBytesWritten, NULL))
{
return FUNCOK;
}
else
return FUNCERROR;
/* return WriteFile(g_hCOM, g_buffer, nBytesToWrite, pBytesWritten, NULL);*/
}

/*****************ReadCom********************/
int ReadCOM(void* g_buffer, unsigned long nBytesToRead, unsigned long* pBytesRead)
{
if(ReadFile(g_hCOM, g_buffer, nBytesToRead, pBytesRead, NULL))
{
return FUNCOK;
}
else
return FUNCERROR;
/* return ReadFile(g_hCOM, g_buffer, nBytesToRead, pBytesRead, NULL);*/
}
/************************************************/
FUNCERROR et FUNCOK ayant pour valeurs 1 et 0

1 réponse

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
8 juin 2004 à 18:27
WriteCOM(argv[3], (unsigned long) nBytesToWrite, (unsigned long)* pBytesWritten);
->
WriteCOM(argv[3], (unsigned long) nBytesToWrite, &pBytesWritten);
on ne fait pas de transtypages de barbares comme ca
il faut que tu envoie l'adresse de la variable, et non pas transformer cette variable en adresse
0
Rejoignez-nous