DBMemo ve TField.OnSetText olay işleyicisi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Akin_Delphi
Üye
Mesajlar: 163
Kayıt: 06 Nis 2006 12:22

DBMemo ve TField.OnSetText olay işleyicisi

Mesaj gönderen Akin_Delphi »

Herkese hayırlı işler.

Aslında bu konuda yeni bir başlık açmak konusunda tereddütlerim vardı, çünkü bu soru her ne kadar DBMemo'nun bir sorunu olsa da, aslında şifrelemeyle ilgili soru (yani şu başlık : viewtopic.php?t=14695&highlight=)

Yukarıdaki konu başlığında, verileri şifrelemek için bir yöntem belirtmiştim. Ancak o zamanlar yapmış olduğum denemelerde yalnızca DBEdit kullanmıştım.

Ne var ki, bu OnSetText, OnGetText olay işleyicilerini kullanarak şifreleme / deşifreleme yaparken, DBMemo kullandığımda, OnGetText olay işleyicisi ateşleniyor ancak OnSetText olay işleyicisi ateşlenmiyor. Dolayısıyla DBMemo veritabanında şifrelenmiş bir alanın değerini güzel gösteriyor ancak DBMemoyu edit ettiğimizde, tekrar şifreleme yapmıyor.

DBMemo kullanmaktan kaçınayım dedim. Onun yerine DBEdit kullanmaya çalıştım. Ancak bu defa da boyut sorunu oldu (yani DBEdit'in boyunu neye ayarlarsam ayarlayayım yüksekliği hep tek satır yüksekliği oluyor).

Acaba bu sorun hakkında bir fikri olan var mıdır?

Saygılarımla,
Akin_Delphi
Üye
Mesajlar: 163
Kayıt: 06 Nis 2006 12:22

Çözüldü

Mesaj gönderen Akin_Delphi »

Sayın Arkadaşlar,

Sorunu şu şekilde çözdüm. İlgili IBDataSet'in before post olayında önce DBMemo bileşeninin bağlı olduğu alanın OnGetText olay işleyicisini nil'e atıyorum.

Daha sonrasında

Kod: Tümünü seç

AnIntegerField.AsString := Sifrele(DBMemo.Text);
ile şifrelenmiş halini metni alana atıyorum ve daha sonra after postta OnGetText olayını tekrar eski haline getiriyorum.

Belki birilerinin işine yarar.

Saygılarımla,
Cevapla