bonjour,
J'ai un soucis avec une fonction dans laquelle j'ouvre une fenêtre.
Cette fonction bloque au moment de l'ouverture de la deuxième fenêtre...
Voici le code associé :
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
37
38
39
40
41
42
43
44
45
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit5.h"
#include "Unit6.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TForm5 *Form5;
TForm6 *Form6;
//---------------------------------------------------------------------------
__fastcall TForm5::TForm5(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void TForm5::Securite(AnsiString login, AnsiString mdp)
{
   login_predefini = String("abc");
   mdp_predefini = String("abc");
 
   if (login != login_predefini || mdp != mdp_predefini)
        {
                Application->MessageBox("Nom d'utilisateur ou mot de passe invalide", "Erreur de Login",MB_OKCANCEL);
        }
   if (login == login_predefini && mdp == mdp_predefini)
        {
                Application->MessageBox("Bonjour","Login accepter",MB_OKCANCEL);
                Form5->Visible = false;
                Form1->Visible = true;
        }
}
void __fastcall TForm5::Button_ValiderClick(TObject *Sender)
{
 
  char* login = new char[ Edit_Login->Text.Length() + 1 ];
  strcpy( login, Edit_Login->Text.c_str() );
  char* mdp = new char[ Edit_mdp->Text.Length() + 1 ];
  strcpy( mdp, Edit_mdp->Text.c_str() );
  Securite(login, mdp);
}
Une fois l'application lancer si le login et le mot de passe sont valable, normalement une deuxiéme fenêtre devrai s'ouvrir... mais le débeugeur m'annonce une violation d'adresse mémoire et me bloque sur la ligne :
Si quelqu'un a une idée, par ce que je suis un peut larguer...
Merci par avance