AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Prism verschachtelte Klassen serialisieren und Deserialisieren
Thema durchsuchen
Ansicht
Themen-Optionen

verschachtelte Klassen serialisieren und Deserialisieren

Ein Thema von kiar · begonnen am 18. Okt 2005 · letzter Beitrag vom 12. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
Robert_G
(Gast)

n/a Beiträge
 
#11

Re: verschachtelte Klassen serialisieren und Deserialisieren

  Alt 12. Nov 2005, 20:20
Zitat von kiar:
Moin Robert,
habe versucht das ganze zu übersetzen. Bin leider an der List <''> gescheitert.
wäre nicht schlecht, wenn du der gescheiterten Existenz noch mal auf die Sprünge helfen könntest.
Moin Raik,
gerne doch.
Eine List<Miep> ist eine arraybasierte Collection mit Elementen vom Typ Miep, das ganze fällt unter das Schlagwort "generics".
Um das unter .Net 1.1 zu bekommen gibt es zum Beispiel den collection wizard aus #d. Da du D.Net benutzt und bisher kein .Net Compiler circuläre Referenzen von Assemblies unterstützt sehe ich für dich nur drei Möglichkeiten.
  • Du schreibst diese Klassen in c# und kannst den typed collection wizard benutzen.
    Die Assembly benutzt du dann von D.Net.
  • Du deklarierst leere Pseudo klassen in C#, (Hauptversicherter und Versicherter).
    Auf die wendest du den collection wiz an und kompostiert das ganze. Nun kannst du die Assembly in den Reflector werfen und D.Net Code herauskopieren.
  • Du tippst alles von Hand
Da du einen gewissen masochistischen Hang offenbarst, empfehle ich dir #3.

btw: Nein, Du kannst keine ArrayList nehmen, da die beim Serialisieren *ziemlich* zickig ist.

Außerdem:
Delphi-Quellcode:
uses System.Xml.*;
...
begin
   var serializer := new XmlSerializer(typeof(Einstellungen));
   
   using reader := new XmlTextReader(fileName) do
      var einstellungen := serializer.Deserialize(reader) as Einstellungen;
end;
entspricht in Delphi.Net:
Delphi-Quellcode:
uses
  System.Xml,
  System.Xml.Serialization;
...
var
  einstellungen : DeinNamespcae.Einstellungen; //siehe [1]
  reader : XmlTextReader;
  serializer : XmlSerializer;
begin
  serializer := XmlSerializer.Create(typeof(DeinNamespcae.Einstellungen)); //siehe [1]
  reader := XmlTextReader.Create(fileName);
  try
    einstellungen := serializer.Deserialize(reader) as Einstellungen;
  finally
    reader.Dispose();
  end;
end;
[1] Ich hoffe es reicht den namespace vor den Typen zu packen um einen Name clash zu vermeiden.
Falls nicht musst du dir wohl irgendeinen komischen Variablennamen ausdenken. D.Nets compiler kann nicht untercheiden wann etwas ein Typ eine Variable oder Property ist.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#12

Re: verschachtelte Klassen serialisieren und Deserialisieren

  Alt 12. Nov 2005, 20:55
Moin Robert,

Erstmal Dank, das du dich meiner annimmst

Das mir dem Serialisieren habe ich schon in Delphi hingekriegt, ich konnte auch deine Klasse Versicherter serialisieren, bei den anderen hatte ich immer das Problem mit List<>.

wenn ich aber System.Xml eingegeben habe wurde mir generic nicht vorgeschlagen. Deshalb bin ich da auch nicht weitergekommen.
nun ist ja Delphi 2005 nicht mit einer Hilfe ausgestattet(bei mir), so dass ich nur die Hilfe in #d , dank an <Rober_G> simmatze </Rober_G>, zur Verfügung habe .

Zitat von Robert_G:
Du schreibst diese Klassen in c# und kannst den typed collection wizard benutzen.
Die Assembly benutzt du dann von D.Net.
Diese Variante werde ich wohl nehmen müssen.



Zitat von Robert_G:
Da du einen gewissen masochistischen Hang offenbarst,
Um dies unter Beweis zu stellen gucke ich jetzt Fussball anderseits hat mir meine Frau auch keine Wahl gelassen entweder Laptop oder Fussball
jetzt werde ich bloss noch ein verstohlendes F5 machen können. Ich werde mir morgen aber den 1. Weg zu Gemüte führen und dich wahrscheinlich weiterhin nerven.

der Masochist
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz