Bonjour,
Je suis en train de refaire un code à base de fonctions de fonction.

- Dans mon programme, au démarrage, j'ai écrit ce qui suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        InstancesIni    = ExtractFilePath(Application->ExeName) + "\\Ressources\\Instances.ini";
 
        InitPerso(1, CheminFic):
}
- Plus haut, j'ai mes fonctions:
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
 
void __fastcall TForm1::InitPerso(int NumPerso, AnsiString CheminFic)
{
        AnsiString Section;
 
        Section = "Perso" + IntToStr(NumPerso);
 
        this->EditNomPerso1 = ChargerDonnees(Section, "Nom", CheminFic);
}
AnsiString __fastcall TForm1::ChargerDonnees(AnsiString ASection, AnsiString AClef, AnsiString ACheminFic)
{
        char CSection[50], CClef[50], CDonnee[50], CCheminFic[50];
 
        AnsiToChar(CSection, ASection);
        AnsiToChar(CClef, AClef);
        AnsiToChar(CCheminFic, ACheminFic);
 
 
        //Charge la donnée slectionné par les paramètres.
        GetPrivateProfileString(CSection, CClef, "@", CDonnee, sizeof(CDonnee), CCheminFic);
 
        return CDonnee;
}
Ce qui se passe c'est que dans la fonction InitPerso(), j'ai une erreur sur la ligne qui suit:
this->EditNomPerso1 = ChargerDonnees(Section, "Nom", CheminFic);

et le jolie message d'erreur suivant:
[C++ Erreur] ProjetWI.cpp(45): E2034 Impossible de convertir 'AnsiString' en 'TEdit *'

Je suppose que je ne peux pas ainsi faire un return mais pourquoi ?

Pourriez-vous éclairer mes lanternes car j'ai beau cherché dans Fonction, Appel de fonction... je ne vais pas tous les énumérer, je ne retrouve pas mon cas.

Cordialement.