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:
- Plus haut, j'ai mes fonctions:
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): }
Ce qui se passe c'est que dans la fonction InitPerso(), j'ai une erreur sur la ligne qui suit:
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; }
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.
Partager