2010-09-20 19 views
7

Java'da bir seri hale getirilebilir bir nesneyi bir dosyaya kaydedebilir ve bu dosyadan bir nesne yükleyebilirsiniz. Bunu Delphi'de yapabilir miyiz? Varsa, Nasıl?Nesne bir dosyaya Delphi'de nasıl kaydedilir?

+2

Java'da, herhangi bir nesne için mümkün değildir: nesnenin sınıfı, Seri hale getirilebildiğini beyan etmelidir (ancak hepsi, yalnızca herhangi bir yöntemle yapılan bir etiketleme arabirimidir). Güzel olan şey, Java'nın erişim değiştiricilerinden bağımsız olarak tüm nesne niteliklerini varsayılan olarak seri hale getirmesidir ("DIY" RTTI kodlaması gerekli değildir). – mjn

+0

zaten benim sorumu düzenledi – rajeemcariazo

cevap

6

sorusunda "Bunu Delphi'de yapabilir miyiz?" - yanıt: evet. Sanırım bilmek istiyorsan, bu Delphi'de nasıl yapılabilir? o zaman,

  • Kendi veri nesneleri seri istiyorsanız

    , o zaman kendi Kaydetöğesine/LoadFrom fonksiyonları

  • bileşenleri yazabilirsiniz: Bu senin serialize istiyorsun bağlıdır Eğer, o zaman bazı RTTI teknikleri ihtiyaç yerleşik component streaming system
  • herhangi bilinmeyen nesnesi kullanabilirsiniz ve nesneleri kendi seri hale getirilebilir özelliklerini yayımlamak zorundadır
+3

Yayınlanmış görünürlük sadece "eski stil" RTTI kullanırken hala gereklidir. D2010'dan itibaren genişletilmiş RTTI, bunları sıralayabilmek için yayınlanmış görünürlük özelliklerine sahip olmayı gerektirmez. Artı, "sadece" özelliklerden çok daha fazlasını sıralayabilir. –

3

ilk makale görünüyor "eski" önceden D2010 tarzı RTTI (çalıştırma türü Bilgisi), kullanmak (belki oruç yağsız) onları sıralayabilmek için yayınlanmış görünürlük özelliklerine bağlıdır.

D2010'dan itibaren Delphi, yayınlanmış görünürlük gerektirmeyen ve sayım özelliklerinden çok daha fazlasını içeren tamamen yeni bir genişletilmiş RTTI (eski olanın üstüne yerleştirilmiştir) sahiptir. DeHL, Andre ile bağlantılı ikinci makalede anlatıldığı gibi, yeni RTTI kullanır ve eğer bir kütüphane arıyorsanız, bu kütüphaneyi de tavsiye ederim.

kendi oluşturmayı tercih ederseniz, Robert Aşk yeni RTTI kullanarak XML-serileştirme bir makale bir göz olabilir: http://robstechcorner.blogspot.com/2009/10/xml-serialization-basic-usage.html

Robert Aşk da, RTTI makalelerin güzel bir özeti etti: http://robstechcorner.blogspot.com/2009/09/so-what-is-rtti-rtti-is-acronym-for-run.html

ve yeni stil RTTI ile neler yapılabileceğini biraz daha fikirler için ,

Practical usage for Delphi's new RTTI - Attributes,Values ve Why should I care about RTTI in Delphi?

2

NativeXML 01 de bakabilirsiniz, XML biçimindeki nesneleri saklama/alma özelliğine sahiptir ve bu da size RTTI metodolojisi üzerinden ek işleme yeteneği sağlar. XML belgelerinin hızlı ve kolay bir şekilde manipüle edilmesi ve kalıcı nesnelerin kaydedilmesi/yüklenmesi.

İlgili konular