je travail sous Win xp pro avec VisualC en MFC.

mon projet est constituè de 2 fenetre. dans les 2ème, j'insere des valeurs et clique sur "Quitter". avan de fermer la page il effectue des calcul avec ces valeurs et les affiche sur la fenetre 1.

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
void CMesInfosDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	int_FabArme -> TabMyBat_FabArme[5];
 
	int N, G;
	float D;
 
	N = TabMyBat_FabArme[5]/2;
	D = TabMyBat_FabArme[5]/2;
 
	if (N == D)
	{
		G = (N^2)*10 + N*10 + 2;
		m_Arme_h.Format("%d", G);
	}
 
                UpdateData(FALSE);
 
	CDialog::OnCancel();
}
int_FabArme ==> valeur saisie dans la fenetre 2(variable int de boite de saisie)
TabMyBat_FabArme[5] ==> Tableau a 100 emplacement déclarè dans InitDialog
N, G, D ==> variable utilisè pour le traitement de la donnè insérè
m_Arme_h ==> variable CString de l'affichage qui se trouve sur la fenetre 1


pour la transformation je divise la valeur par 2 et la place dans un int et un float. en les comparant je determine si int_FabArme est paire ou impaire puis je lui effectue les tranformation et stock le resultat dans G.

ensuite je converti G(int) en CString avec format et met le resultat dans la variable de l'afficheur et après j'actualise et ferme la fenetre 2.
après compilation il m'affiche
--------------------Configuration: Vendetta 3 - Win32 Debug--------------------
Compiling...
MesInfosDlg.cpp
D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta 3\MesInfosDlg.cpp(139) : error C2227: left of '->TabMyBat_FabArme' must point to class/struct/union
D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta 3\MesInfosDlg.cpp(144) : error C2109: subscript requires array or pointer type
D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta 3\MesInfosDlg.cpp(145) : error C2109: subscript requires array or pointer type
D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta 3\MesInfosDlg.cpp(145) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta 3\MesInfosDlg.cpp(150) : error C2065: 'm_Arme_h' : undeclared identifier
D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta 3\MesInfosDlg.cpp(150) : error C2228: left of '.Format' must have class/struct/union type
Error executing cl.exe.

Vendetta 3.exe - 5 error(s), 1 warning(s)
le warning c'est parceque avec N et D je risque de perdre la partie decimale a 1 moment mais c'est voulus donc pas grave mais le reste je trouve pas....

merci de votre aide