MesFonctionsUtiles est une classe statique (abstract sealed en C++/CLI) : Tu ne peux l'employer que de cette façon:
Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part retour = ClasseStatique::UneFonction(paramètres)
MesFonctionsUtiles est une classe statique (abstract sealed en C++/CLI) : Tu ne peux l'employer que de cette façon:
Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part retour = ClasseStatique::UneFonction(paramètres)
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
OKi
mais dans mon cas ou cette fonction sert à afficher les items d'un combobox, il n'y a pas de retour (ou bien ?)
Donc mon appel est :
Il faudrait donc que je modifie alors... au minimum le titre de ce topic !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String^proj = this-comboBox1->SelectedItem_>ToString(); MesFonctionsUtiles::FillCombobox(combobox2, projet);
Cdlt
Fred
et si je passais le statut à void au lieu de static.... non non !!!
cdlt
fred
bon ben donne rien de plus... il faut donc que je modifie mon appel.... objet du jour donc si une bonne âme passe par ici.....
Ou comment modifier la classe pour pouvoir lancer des appels avec paramètres comme montré en amont....
Fred
Là, je ne comprends plus ce que tu cherches à faire.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
ben simplement à appeler ma methode FillCombobox....
si je comprend bien tout mon appel actuel ne correspond pas à une classe abstract, mais je ne vois pas comment transformer
correction :
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String^proj = this-comboBox1->SelectedItem_>ToString(); MesFonctionsUtiles::FillCombobox(combobox2, proj);
je sais que ça doit être tout bête mais je ne vois plus comment faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part retour = ClasseStatique::UneFonction(paramètres)
Merci encore à toi
Fred
Je ne vois toujours pas le problème, à part le conflit de nom entre "proj" et "projet".
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
le conflit est enlevé, mais je n'ai pas corrigé le post...
bon une fois corrigé, l'envoi (debug) me plante et m'affiche la même erreur deux fois
donc...error C3622 'marre5::MesFonctionsUtils' : une classe décalrée comme 'abstract' ne peut pas être instanciée MesfonctionsUtiles.h 7
Fred
Poste tout le code, s'il te plait.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Medinoc je te remercie par avance pour ta patience et ton expertise,
ci après : la classe rebelle (.h et .cpp)
en pj Form1.h : la classe qui a besoin des service de FillCombobox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //MesFonctionsUtiles.h namespace marre5 { public ref class MesFonctionsUtiles abstract sealed { public: static MesFonctionsUtiles FillCombobox(System::Windows::Forms::ComboBox^ cmb, System::String^ projet); }; }Encore merci
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 // MesFonctionsUtiles #include "StdAfx.h" #include "MesFonctionsUtiles.h" using namespace System; using namespace System::IO; using namespace System::Text; using namespace System::Windows::Forms; namespace marre5 { Void FillCombobox(ComboBox^ cmb,String^ proj) { String^ projet = proj; try { String^ line2; FileStream^ fs = gcnew FileStream("C:\\Documents and Settings\\LPTIC\\My Documents\\Visual Studio 2008\\Projects\\marre5\\Projets\\"+projet+"\\PLT.txt",FileMode::Open); StreamReader^ srd = gcnew StreamReader(fs); while (line2 = srd->ReadLine()) { cmb->Items->Add(line2); } srd->Close(); } catch(FileNotFoundException^fnfe) { MessageBox::Show("Fichier plateforme introuvable"); } catch(DirectoryNotFoundException^dnfe) { MessageBox::Show("Répertoire projet non valide"); } } }
Fred
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 //MesFonctionsUtiles.h namespace marre5 { public ref class MesFonctionsUtiles abstract sealed { public: //Ceci est une déclaration au sein de la classe //de fonction membre statique ne retournant rien et prenant deux paramètres. static Void FillCombobox(System::Windows::Forms::ComboBox^ cmb, System::String^ projet); }; }//namespace marre5
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 using namespace System; using namespace System::IO; using namespace System::Text; using namespace System::Windows::Forms; namespace marre5 { //Ceci est une définition hors de la classe //de fonction membre (statique ou non) ne retournant rien et prenant deux paramètres. Void MesFonctionsUtiles::FillCombobox(ComboBox^ cmb,String^ proj) { String^ projet = proj; try { String^ line2; FileStream^ fs = gcnew FileStream("C:\\Documents and Settings\\LPTIC\\My Documents\\Visual Studio 2008\\Projects\\marre5\\Projets\\"+projet+"\\PLT.txt",FileMode::Open); StreamReader^ srd = gcnew StreamReader(fs); while (line2 = srd->ReadLine()) { cmb->Items->Add(line2); } srd->Close(); } catch(FileNotFoundException^fnfe) { MessageBox::Show("Fichier plateforme introuvable"); } catch(DirectoryNotFoundException^dnfe) { MessageBox::Show("Répertoire projet non valide"); } } }//namespace marre5
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Yahooooooo
c'est où que je t'envoie la bouteille ????? Tu es ... magique... MERCI !!!!!
ça marche.... maintenant je vais décortiquer et comprendre car tu te doutes bien que MesFonctionsUtiles vont avoir d'autres méthodes et que d'autres classes spécialisées vont naître... grâce à toi (oh un deviantartist.... !)
MERCI Encore
Fred
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager