13-03-2022, Saat: 15:34
Geliştirmekte olduğum projece kullanıcının girdiği yüzlerce iç içe geçmiş kayıtlardan oluşan diziler mevcut. Bunları veri tabanına kaydederken bağlantı sorunları nedeniyle bazen program sunucuya erişemediğinden çökme yaşanıyor ve kullanıcının girmiş olduğu bilgiler uçuyor. Bunun önüne geçebilmek adına hafızadaki bu kayıt dizilerini JSON kullanarak Seri hale getirmek istiyorm. JSON kullanma sebebim ileride mail ile bu JSON dosyasını programı kullanan diğer kullanıcılara ulaştırarak veri girişini basitleştirmek. JSON Kütüphanesi adresten bir JSON kütüphanesi buldum. Kayıtları başarılı bir şekilde Serialize ediyor. Ancak Deserialize ettikten sonra Benim kayıt dipine Cast ederken hata veriyor. Debug den baktığımda verileri Değişkende görebiliyorum ancak Cast ederken hata veriyor.
buda Deserialize kısmı
Aşağıda resimde LVal değişkenin içeriğinde veriler gözüküyor ancak T generic değişkenini Record tipine alamıyorum.
procedure TfrmSerializationRecords.actSerRecordExecute(Sender: TObject); var LVal: TMyRecord; begin LVal.Speed := TEnumSpeed.Low; LVal.One := 'Barış Manço'; LVal.Two := 42; SerializeSimple<TMyRecord>(LVal); end;
buda Deserialize kısmı
procedure TfrmSerializationBase.DeserializeSimple<T>(AValue: T); var LVal: T; KayitTipi:TMyRecord; begin LVal := DeserializeValueTo<T>(AValue, memoSerialize.Lines, frmConfiguration.BuildSerializerConfig); KayitTipi:= TMyRecord(LVal); // Yukarıda aslında kayıt tipine göre Deserialize yapıp T değişkene atıyor ancak Statik değişkene atmıyor. SerializeValueFrom<T>( TValue.From<T>(LVal), memoDeserialize.Lines, frmConfiguration.BuildSerializerConfig); end;
Aşağıda resimde LVal değişkenin içeriğinde veriler gözüküyor ancak T generic değişkenini Record tipine alamıyorum.


(Çünkü önünüzdeki mevcut problemi, mevcut kaynaklarınızla çözmeye yönelik açıklama değil.)