Bonjor à toutes et à tous !
J'ai un souci avec un programme qui plante lors d'un clic sur un bouton.
Voilà le code de la fonction qui récupère les clics sur les boutons :
/*======================================= Clic sur bouton =======================================*/
void ClicBouton(int Index)
{
DWORD Lu;
__int64 TailleFich;
wchar_t* c, * d, * e;
int NbColonnes, NbLignes = 0;
HANDLE FichRef, FichAComp;
wchar_t DonneesRef[20000][30][300];
//-----//
switch(Index)
{
case 1: // Choix fichier de référence
FichierAOuvrir(NomFichRef, NomDuFichRef, L"Fichier texte (*.txt)\0*.txt\0", FenetrehWnd);
SetWindowText(TextBoxhWnd[1], NomFichRef);
if(wcscmp(PrendreTexte(TextBoxhWnd[1]), L"") && wcscmp(PrendreTexte(TextBoxhWnd[2]), L""))
{
EnableWindow(BoutonhWnd[3], true);
}
else EnableWindow(BoutonhWnd[3], false);
return;
case 2: // Choix fichier à comparer
FichierAOuvrir(NomFichAComp, NomDuFichAComp, L"Fichier texte (*.txt)\0*.txt\0", FenetrehWnd);
SetWindowText(TextBoxhWnd[2], NomFichAComp);
if(wcscmp(PrendreTexte(TextBoxhWnd[1]), L"") && wcscmp(PrendreTexte(TextBoxhWnd[2]), L""))
{
EnableWindow(BoutonhWnd[3], true);
}
else EnableWindow(BoutonhWnd[3], false);
return;
case 3: // Lancer la comparaison
FichRef = CreateFile(PrendreTexte(TextBoxhWnd[1]), GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, 0);
if(FichRef == INVALID_HANDLE_VALUE)
{
MessageBox(FenetrehWnd, L"", L"", MB_ICONINFORMATION);
return;
}
TailleFich = TailleFichier(PrendreTexte(TextBoxhWnd[1]));
wchar_t* Contenu = (wchar_t*)malloc(TailleFich);
ReadFile(FichRef, Contenu, TailleFich, &Lu, NULL);
CloseHandle(FichRef);
c = Contenu;
while(*c != 0)
{
while(*c != '\n')
{
e = DonneesRef[NbLignes][NbColonnes]; while(*c != '\t')
{
*e = *c;
e++;
c++;
}
*e = 0;
NbColonnes++;
c++;
}
NbLignes++;
c++;
}
free(Contenu);
MessageBox(NULL, DonneesRef[5][9], L"Donnees", 0); return;
}
}
Si je clique sur les boutons 1 ou 2, le programme plante. Pour que ça ne plante pas, il faut que je mette en commentaire les 2 lignes que j'ai mises en rouge.
Précision : je bosse en UNICODE (je préfère préciser) et pas par plaisir lol.
Merci d'avance pour vos lumières que j'espère intense parce que moi sur ce coup je dépasse pas la bougie...

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]