![]() |
Object in XML Speichern
Hi an alle :-)
Delphi-Quellcode:
Wie kann ich das ganze sinnvoll speichern und wieder laden ? In .net geht es mit Hilfe von ner XML Serialisiserung... wie geht es unter Win32 ???
type
TServerProfile = class(TObject) FName : string; FPassword : string; end; TSingleServer = class(TObject) FName : string; FHost : string; FPort : integer; FPassword : string; FComment : string; FProfiles : array of TServerProfile; end; TServerList = class(TObject) FServers : array of TSingleServer; end; var Servers: TServerList; Gibt es unter Win32 vergleichbares?? Gruß Martin [edit=Admin]Beitrag auf Wunsch des Autors editiert. Mfg, Daniel[/edit] |
Re: Object in XML Speichern
Du könntest da was mit Typeinfo machen wie man die propertys auflistet wird
![]() |
Re: Object in XML Speichern
Was .net ähnlich gibt es net?? Da waren es 4 Zeilen Code die ich brauchte...
|
Re: Object in XML Speichern
Es geht weder so einfach noch so schön, aber es geht.
@arbu man: Wäre eine Möglichkeit :stupid: ... [edit] Und XML ist es auch nicht. [/edit] |
Re: Object in XML Speichern
Aber was vergleichbares gibt es nicht??? :wiejetzt:
Kann ich eine DLL in .net schreiben und dann mit der Win32 Anwendung das Object übergeben? |
Re: Object in XML Speichern
Soo schlecht ist doch die RTTI-Serialisierung auch wieder nicht :gruebel: .
Deine Idee ist allerdings zum Scheitern verurteilt. Selbst wenn du das Objekt über irgendwelche COM-Umwege in den managed Code bringen würdest, hättest du keinen Zugriff auf die Felder. |
Re: Object in XML Speichern
Zitat:
Könnte mir einer dafür nen Beispiel geben? Also Source Code... |
Re: Object in XML Speichern
Ich würde eine Helper-Klasse mit 2 statischen Metoden bauen, die das übergebene Objekt in XML schreibt und wieder ausliest (in Datei, Stream, ...).
|
Re: Object in XML Speichern
Zitat:
@Martin W: Wo hakt es denn genau? Wenn deine Klasse fertig ist, musst du im einfachsten Falle nur noch
Delphi-Quellcode:
aufrufen.
WriteComponentRes(myObject, ...);
Für die Collections kannst du dir auch mal die DP-Collection anschauen. |
Re: Object in XML Speichern
Zitat:
|
Re: Object in XML Speichern
Zitat:
sorry aber wie kommst du denn auf die Idee? Ich meine flexibel? Ich muss für jede Klasse, die ich serialisieren möchte eine eigene Hilfsklasse/Methode bauen. Da fände ich eine wirklich generische Lösung doch deutlich schöner. Am schönsten wäre es ohne Frage, wenn Delphi ein vollständiges Pendant zur Java Reflection bieten würde, dann wäre ein generischer (De-)Serialisierer gar kein Problem. Und wie man speichert, dass ist doch nun echt Geschmackssache. Gruß Der Unwissende |
Re: Object in XML Speichern
flexibel in bezug auf die eigenschaften der klasse.
Was passiert denn beim Laden einer einer Klasse auf obigen Wege, wenn sich deren Struktur geändert hat? (Liste umbenannt, typ geändert). Bei XML kann ich da besser reagieren, entweder der tag ist da oder nicht. den Aufwand für die Hilfsklasse möchte ich ja gar nicht abstreiten, ich streube mich ja nur gegen die Nutzung der RTTI, die mich an Delphi bindet (oder?) |
Re: Object in XML Speichern
Zitat:
DerDan |
Re: Object in XML Speichern
Zitat:
mehr sag ich dazu jetzt nicht, da es Martin W nicht weiter bringt. |
Re: Object in XML Speichern
Sorry, hab nicht wirklich klar gemacht worauf ich mich bezogen habe.
Hast natürlich recht, das XML flexibler ist, hab nur das Serialisieren eines Objekts als allgemeines Betrachtet, nicht den konkreten aufruf von WriteComponentRes (der ja auch nur im einfachsten Fall erfolgen sollte). RTTI finde ich ist auch keine wirklich großartige Sache, Reflections fehlern hier einfach immer wieder (beziehe mich dabei nicht allein auf Java, weiß nur nicht wie die in C# oder woanders heißen). Jedenfalls gibt es ein paar Sprachen, bei denen es möglich ist, alle Felder (und Methoden) einer Klasse über ein bestimmtes Interface abzufragen. Damit kann man sehr schöne Frameworks erstellen, gerade wenn es um Objekt-Serialisierung geht. Natürlich geht das in Delphi mit RTTI und allen Eigenschaften die gesichert werden sollen als Properties, aber eben nur mit denen. Hinzu kommt dann noch, dass z.B. ein einfaches toString nicht möglich ist, denn hier würden (sehr unvollständig) auch wieder nur die Properties umgewandelt werden können... Wie gesagt, die Flexibilität von XML beim Speichern möchte ich gar nicht in Frage stellen! |
Re: Object in XML Speichern
Hey danke für eure Antworte, das habe ich gesucht !!! Noch mal DAnke!!! Ihr seid die besten ;-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz