Autor Beitrag
coolace
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141



BeitragVerfasst: Di 02.02.10 18:56 
Hy,

ich kapiers echt nicht, 1000 mal bin ich diesen weg gegangen und jetzt
mekert dieses dumme Ding das was nicht passt.

ausblenden volle Höhe C#-Quelltext
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:
Die Klasse
[Serializable()]
    public class Konfiguration
    {
        DateTimePicker dt;

        /// <summary>
        /// setzt bzw. ließt die Einstellung des Kontoauszugsdatums
        /// </summary>
        public DateTimePicker Dt
        {
            get { return dt; }
            set { dt = value; } 
        }

        public Konfiguration()
        {
        }
    }

Das Hauptprogramm
 List<Konfiguration> konfigurationsliste = new List<Konfiguration>();

try
            {
                BinaryFormatter bin = new BinaryFormatter();
                FileStream fs = new FileStream(@"H:\test\test.bin", FileMode.Create);
                bin.Serialize(fs,konfigurationsliste);
                fs.Close();
            }
            catch (Exception)
            {
                MessageBox.Show(this"f""Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                
            }


Was ist hier falsch ???
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 02.02.10 19:07 
Wenn mit DateTimePicker wirklich das Winforms Control gemeint ist dann geht das nicht. Controls sind nicht serialisierbar. Wie auch? Zum Beispiel ist nach dem deserialisieren das Handle des Controls wohl kaum noch gültig. Macht es denn wirklich Sinn mehr als denn DateTime Wert im DateTimePicker zu serialisieren?
coolace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141



BeitragVerfasst: Di 02.02.10 19:26 
Hy,

danke für die Antwort, ich bin jetzt immer davon ausgegangen das
wenn ich in einer Klasse irgendwas in irgendeinem Format speicher,
so wie hier DateTimePicker das er alles in dieser Klasse serialisieren
kann und dies nicht begrenzt ist.

Gruß

Coolace
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 02.02.10 19:46 
Wenn die Klasse mit dem SerializableAttribute markiert ist. Was die Winforms Controls nicht sind.

Ein anderes Gedankenexperiment stellen wir uns vor du könntest den DatetimePicker serialisieren. Dann würde ja der ganze Objektgraph dahinter serialisiert werden. Genau wie bei deiner Konfiguration Klasse von der du erwartet hast das sie auch den DateTimePicker mit serialisiert.
Hast du beim DatetimePicker Events verdrahtet die auf einer Form liegen? Wenn ja zack wird die Form mitserialisiert. Auf der Form liegen andere Controls? Zack mit serialisieren. Deine Form referenziert andere Forms? Zack mit serialisieren. An deinen Controls auf den Formen hängen per Databinding Klassen aus deinem Datenmodell? Zack ... du erkennst das Muster ;) Letztlich läuft es darauf hinaus das du faktisch die gesamte Anwendung serialisieren würdest sobald du erfolgreich ein graphisches Control serialisierst.