Remplace LPTSTR par LPSTR.
Et LPCTSTR par LPCSTR.
Remplace LPTSTR par LPSTR.
Et LPCTSTR par LPCSTR.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
C'est fait... Récapitulons:
- J'ai enlevé tous les UNICODES que j'ai pu trouver.
- J'ai changé LPTSTR par LPSTR dans les parametres de winMain.
- J'ai joujours les 2 MessageBox dans le code.
J'ai 2 erreurs:
error C2731: 'WinMain' : function cannot be overloaded See declaration of 'WinMain'
error C2660: 'MessageBoxA' : function does not take 3 parameters
Par contre, le 2ème MessageBox est passé.
J'ai enlevé le premier et il ne reste que le winMain qui pose pb !
David.
Le prototype correct est le suivant (trouvable sur la MSDN) :error C2731: 'WinMain' : function cannot be overloaded See declaration of 'WinMain'
Si tu as des erreurs avec ça, c'est que tu as encore des options de compilation rebelles qui traînent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT)
MessageBox prend en effet 4 paramètres (là encore, voir la MSDN)error C2660: 'MessageBoxA' : function does not take 3 parameters
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Que je mette LPTSTR ou LPSTR, ça plante.
Elle est déclarée ou cette fonction d'entrée ?
Elle n'est pas déclarée normalement !!!
David.
Bon,
Même le minimum depuis un nouveau projet plante:
Je vais laisser tous les paramètres de l'IDE par défaut et m'adapter à l'unicode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #include "stdafx.h" LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { HWND hDlg; hDlg=CreateDialog(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc); ShowWindow(hDlg,SW_SHOW); MSG msg; while(GetMessage(&msg,NULL,0,0)==TRUE) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam) { int Select; switch(message) { case WM_COMMAND: Select=LOWORD(wParam); switch(Select) { case IDOK: EndDialog(Dlg,0); PostQuitMessage(0); return TRUE; case IDCANCEL: EndDialog(Dlg,Select); PostQuitMessage(0); return TRUE; } default: return FALSE; } }
Je reviens de ce fait à ma question de départ:
Comment transformer une chaines en pointeur LPCSTR ?
Et pourquoi le type String n'existe pas dans mon environnement ?
Merci.
David.
C'est quoi l'erreur cette fois-ci ?
Normalement, les macros LPxxxxx sont faites pour effectuer ces conversions - OK, mal, mais bon... -, donc ça devrait marcher.
Ensuite, la raison pour laquelle tu n'as pas la classe String, faut demander à tes patrons !
Ca a l'air méchant:
fatal error C1010: unexpected end of file while looking for precompiled header directive
Mais j'ai commenté l'inclusion à stdafx.h qui contient:
Je ne sais pas si c'est important, en tous cas, si je le laisse, j'ai l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) #define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
error C2731: 'WinMain' : function cannot be overloaded
Comme si winMain était déclarée dedans alors que non !
Sinon, as tu un exemple pour une conversion ?
David.
Hourra, j'ai trouvé une solution:
C'est tout de même dommage d'avoir tant de difficultés pour faire un truc aussi con !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include "Afx.h" // Pour CString CString strValue; strValue.Format(L"temp:%d",wmId); (...A QUOI SERT LE L ???) MessageBox(hWnd,strValue,_T("Info"),MB_OK);
Merci à tous !
David.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager