Sérialisation Winform [Débutante] - C++ - Programmation
Marsh Posté le 14-12-2006 à 11:34:02
Mouais ptet ms je préférais avoir des réponses à mes questions plutôt que de telles reamrques.
Marsh Posté le 14-12-2006 à 11:45:51
Ah ça, atterrir sur une section de forum composée à 99.9% de mecs Pour MaClasse, ça doit effectivement être Form1, pour monObjectASerialiser ça doit être l'instance ?
Marsh Posté le 14-12-2006 à 11:54:05
Amelia90C a écrit : Mouais ptet ms je préférais avoir des réponses à mes questions plutôt que de telles reamrques. |
change de pseudo ou arrete la prog
Faut pas annoncer la couleur non plus, moi je me sens obligé de dire quelque chose quoi
Sinon t'as lu ce genre de docs ? http://www.codeproject.com/cpp/xmlserialization.asp
Marsh Posté le 14-12-2006 à 12:05:23
Mais elle ressemble a quoi l'instance de form1?
Et ma méthode de sérialisation faut bien que je la mette dans mon fichier projet principal?
Marsh Posté le 14-12-2006 à 13:01:38
Amelia90C a écrit : Mais elle ressemble a quoi l'instance de form1? |
bah à this si tu es dans form1, et à un pointeur sur form ailleurs...
Amelia90C a écrit : Et ma méthode de sérialisation faut bien que je la mette dans mon fichier projet principal? |
pourquoi ?
Marsh Posté le 14-12-2006 à 15:41:39
J'ai écrit coder ça :
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
System::Xml::Serialization::XmlSerializer ^ sr;
sr = gcnew System::Xml::Serialization::XmlSerializer(note::typeid);
System::IO::StreamWriter ^ writer = gcnew System::IO::StreamWriter("fichier.xml" );
try
{
sr->Serialize(writer, this);
}
catch (Exception ^ e)
{
System::String ^ message = e->InnerException->Message->ToString();
this->textBox1->Text=message;
//AfxMessageBox("Impossible de sérialiser" );
}
}
ça bug sur le typeid.
Comment je peux résoudre ça...
Merci
Marsh Posté le 14-12-2006 à 16:49:00
Amelia90C a écrit : J'ai écrit coder ça : |
- balises code
- quelle est l'erreur ?
Marsh Posté le 14-12-2006 à 16:53:26
ReplyMarsh Posté le 17-12-2006 à 13:37:40
Amelia90C a écrit : Ca me dit que l'exception InvalidOperationException n'a pas été gérée. |
Sans être expert je dirais que l'une de ces instructions peut lever une InvalidOperationException que tu n'a pas capturé:
Code :
|
A vue de nez je pencherai pour la deuxième.
Marsh Posté le 17-12-2006 à 19:57:55
rha punaise ce pseudo raccoleur... Il y en a vraiment qui n'ont peur de rien...
Déplorable
Marsh Posté le 14-12-2006 à 11:12:46
Bonjour,
Je débute avec Visual C++, et je travaille actuellement sur une application qui lance une fenêtre principale qui permet à son tour de lancer d'autre fenêtres. Je voudrais, à la fermeture de mon application, pouvoir enregistrer, par exemple, la disposition des fenêtres générées avant la fermeture pour qu'au relancement de mon appli elles réapparaissent au même endroit. Je me suis renseigner sur la sérialisation, mais à dire vrai, je n'y comprends pas grand chose.
Mon application utilise les winforms et ne fait pas intervenir des MFC.
Y'aurait-il quelqu'un pour m'éclairer.
Je crois que le code ci-dessous c'est pour faire connaître ma classe pour la sérialisation.
[System::Xml::Serialization::XmlInclude(Form1::typeid)]
public ref class Form1 : public System::Windows::Forms::Form
Et voici le code qu'on ma fourni pour sérialiser
System::Xml::Serialization::XmlSerializer ^ sr;
sr = gcnew System::Xml::Serialization::XmlSerializer(MaClasse::typeid);
System::IO::StreamWriter ^ writer = gcnew System::IO::StreamWriter("fichier.xml" );
try
{
sr->Serialize(writer, monObjetASerialiser);
}
Que dois-je mettre à la place des variable MaClasse, je pensais mettre Form1 et que dois-je mettre alors à la place de monObjetASerialiser?
Si vous pouviez m'éclairer.