PDA

Voir la version complète : Problem : Visual Studio 2005 EXPRESS


Mickael
07/07/2005, 16h47
Bonjour a tous,
J'ai ecris un tout petit programme avec un MessageBox juste pour tester si la compilation Marche bien, et comme par hazard : ERREUR.

Voici mon code :


#include <windows.h>

int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR Arguments, int nCmdShow)
{
MessageBox(NULL, "Un petit teste" , "Le teste du jour" , MB_OK);
return 0;
}


L'erreur :


------ Build started: Project: MessageBox, Configuration: Debug Win32 ------
Compiling...
Main.cpp
c:\documents and settings\mickael\mes documents\visual studio 2005\projects\messagebox\messagebox\main.cpp(5) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [15]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Build log was saved at "file://c:\Documents and Settings\Mickael\Mes documents\Visual Studio 2005\Projects\MessageBox\MessageBox\Debug\BuildLog.htm"
MessageBox - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Lenolian
07/07/2005, 16h55
Tu essayes de compiler en Unicode avec des chaines de caratères qui ne le sont pas.

Essayes
MessageBox(NULL,L"Un petit test",L"Le test du jour",MB_OK);

ou alors désactives l'unicode avant de compiler, c'est dans les propriétés du projet.

Eva
07/07/2005, 17h05
Ton problème vient du fait que le type LPCWSTR définit un pointeur vers un caractère constant au format 16-bit UNICODE, alors que const char est un caractère au format ASCII, donc 8 bits.

Tu devrais aller voir du côté de mbstowcs ou encore voir si tu n'as pas une fonction MessageBox qui prend une chaine de caractères multi-octets, plutôt qu'une chaine de caractères étendus.

edit : ou faire ce que dit Leo, c'est quand même plus simple.
/me s'est fait pwned ^^

Rochdi
26/11/2006, 19h29
Salut tous le monde

j'ai un probleme avec les nom des fichiers

D3DXCreateTextureFromFile( pd3dDevice, (LPCWSTR)d3dxMaterials[i].pTextureFilename, &MeshTextures[i]);

il n'est y a pas d'erreur de compilation mais ca marche pas ! :00000005:

commen convertire un char* (tabluau de char) en LPCWSTR

SVP répondé moi

merci