Wininet / HttpOpenRequest

Résolu
nicowatt Messages postés 74 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 18 janvier 2013 - 20 févr. 2009 à 19:32
nicowatt Messages postés 74 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 18 janvier 2013 - 23 févr. 2009 à 08:34
Bonsoir,

Lors de la compilation de mon programme, j'ai l'erreur suivante sur ce code:

LPCTSTR *lplpszAcceptTypes = NULL;
   
    // Pepare request
    hRequest = HttpOpenRequest(hConnect,
                                        "POST" // METHOD
                                        "/simulating.php?step=4",
                                        NULL, // HTTP/1.1
                                        NULL, // REFERER
                                        lplpszAcceptTypes, // text/html
                                        INTERNET_FLAG_PRAGMA_NOCACHE,
                                        ptr);

61 cannot convert `const TCHAR**' to `const CHAR*' for argument `5' to `void* HttpOpenRequestA(void*, const CHAR*, const CHAR*, const CHAR*, const CHAR*, const CHAR**, DWORD, DWORD)'

Aprés avoir cherché longuement sur mon meilleur ami google, je n'ai pas trouvé la solution.
Est-ce que quelqu'un pourrai me montrer ce que je ne vois pas ?

Merci bien.
NicoWatthttp://www.creadev.info/

2 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
22 févr. 2009 à 19:31
Salut,

Il faut que tu apprenne à gérer ce genre de message d'erreur seul. Ce n'est pas compliqué.

cannot convert `const TCHAR**' to `const CHAR*' for argument `5' to
`void* HttpOpenRequestA(void*, const CHAR*, const CHAR*, const CHAR*,
const CHAR*, const CHAR**, DWORD, DWORD)'

Impossible de convertir `const TCHAR**' vers `const CHAR*' pour l'argument 5 de HttpOpenRequestA(void*, const CHAR*, const CHAR*, const CHAR*,
const CHAR*, const CHAR**, DWORD, DWORD)'

D'après le compilo, la fonction prend en cinquième argument un const CHAR*, et toi tu lui fourni un const TCHAR**. Forcément cela ne compile pas.

    hRequest = HttpOpenRequest(hConnect, 1
                                        "POST" // METHOD
                                        "/simulating.php?step=4", 2
                                        NULL, // HTTP/1.1 3
                                        NULL, // REFERER 4
                                        lplpszAcceptTypes, // text/html 5
                                        INTERNET_FLAG_PRAGMA_NOCACHE, 6
                                        ptr 7);

Tu as oublié la virgule après "POST". Bilan lplpszAcceptTypes de type TCHAR** est considéré comme cinquième argument.

Cela dit je me demande ce qui se passe au niveau des deux chaînes qui se suivent...
3
nicowatt Messages postés 74 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 18 janvier 2013
23 févr. 2009 à 08:34
Bonjour,

Merci pour ta réponse. Affaire résolue.
En fait, le transtypage se fait bien, par contre c'est la virgule qui manquait.
Franchement bien vu ! Ce n'est pas dans mon habitude de zapper ce genre de détail, mais je devais trop avoir la tête dans le guidon.
0