le compilateur me repond :
1>.\testSql.cpp(12) : error C2664: 'LoadLibraryW' : impossible de convertir le paramètre 1 de 'const char [14]' en 'LPCWSTR'
???? la je vois vraiment pas ce qu'il me veut.
quelqu'un aurai une idée ??
merci d'avence.
Publicité
Posté le 17-07-2007 à 10:37:17
bjone
Insert booze to continue
Posté le 17-07-2007 à 10:45:46
W : il doit vouloir une chaine unicode et pas ansi (ton projet doit être en unicode, y'a des macros pour basculer sur les fonction A/W suivant le mode du projet).
Message édité par bjone le 17-07-2007 à 10:49:59
bjone
Insert booze to continue
Posté le 17-07-2007 à 10:47:04
essaye
LoadLibrary( _T( "qsqlodbc4.dll" );
ou voir comment mettre le projet en ansi au niveau chaine de caractères.
Message édité par bjone le 17-07-2007 à 10:55:05
nebucade
Posté le 17-07-2007 à 11:11:28
salut,
bon j'ai testé ta solution avec _T, qui me donne la meme erreur,
j'ai cherché un peu, sur le site de microsoft j'ai trouvé un _L, mais ca ne marche pas du tout LOL.
si non je suis en VC 2005, et j'ai pas trouvé ou changé le mode unicode....
nebucade
Posté le 17-07-2007 à 11:12:24
bon en faite j'ai mis directement : LoadLibraryA("qsqlodbc4.dll" );
ca a l'aire de passé ... a voir si ca marche apres
bon en faite j'ai mis directement : LoadLibraryA("qsqlodbc4.dll" );
ca a l'aire de passé ... a voir si ca marche apres
Bah oui parce que tu as appelé la version Ansi de LoadLibrary
En ajoutant l'option de compilation unicode (ou pas), un lien implicite est fait de LoadLibrary vers LoadLibraryA (ANSI) ou LoadLibraryW (Wide String).
Le mieux pour toi est d'utiliser LoadLibrary en y passant une CString (qui sera elle aussi implicitement CStringA ou CStringW). Ton code tournera toujours, dans un environnement unicode ou non.
En utilisant LoadLibraryA, tu forces une utilisation ANSI dans un environnement unicode (puisque ça ne fonctionnait pas avant). C'est bancal.
moi j'ai plus l'impression que c'est juste la chaine passé en paramètre, et que ça pas plus d'influence que ça.
les symboles ne sont que ansi derrière de toute façon.
La taille des strings en interne n'est pas codé de la même manière, effectivement c'est "juste la chaine passée en paramètre".
Cela dit, dans un but de propreté, autant avec un code cohérent. Si par la suite le posteur souhaite internationnaliser son soft, ca va être le bordel entre les widestrings et les raccourcis ansi mis en durs dans son code