J’ai un code pour récuperer un fichier issu d’une boite de dialogue de selection de fichier:
Alors:
AnsiString fic=OpenDialog1->Files[0]; ne fonctionne pas
AnsiString fic=OpenDialog1->Files->operator ; fonctionne!!! :pt1cable:
l’erreur est “[C++ Erreur] MainForm.cpp(23): E2285 Impossible de trouver une correspondance pour ‘AnsiString::AnsiString(const AnsiString&)’”
Apparemment c’est une histoire de const mais j’ai essayé
const AnsiString fic=OpenDialog1->Files[0]; sans succés…
Une idée?
Là, il cherche un constructeur de copie prenant une référence constante.
Elle renvoie quoi comme type File[0] ? et directement via l’opérateur?
(je parie que ça renvoie une référence, et dans ce cas c’est AnsiString& fic)
En fait Files est un TString * et cette classe contient une surcharge de []
AnsiString operator[](int Index) { return Strings[Index]; }
Quand je fais un
const AnsiString & fic=OpenDialog1->Files[0];
ça ne fonctionne pas non plus…
Mais j’ai trouvé la solution, en fait c’est mal documenté builder, pour accéder à la liste des Strings une proprieté est public:
AnsiString fic=OpenDialog1->Files->Strings[0];
En tout cas merci