Konuyu Oyla:
  • Derecelendirme: 3/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Create Edilen Clasları bulup kontrollu free etmek
#1
Merhaba,
Uygulamamda bir listem ve page kontrolum var ve sağ tık ile yeni sekme açıyorum içerisine classımı create ediyorum bu şekilde 2,3 sekme açıyorum. (bunlar uzak masaustu baglantısı) açtıktan sonra mesela sadece 2 page kapatınca 2. page için create edilen classımın eventlerini (connect ,disconnect gibi) yakalamak, ve o classı da free etmek istiyorum anlatabildim mi bilmiyorum.

Bunları nasıl yakalayabilirim ? bu classtan kaç tane create edilmiş hangidi bu page için create edileni,
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#2
(17-09-2016, Saat: 15:03)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.anlatabildim mi bilmiyorum.
Gerçekten anlatımda biraz sıkıntı var gibi Sad

Ben anladığım kadarıyla cevap vermeye çalışayım, umarım yanlış anlamamışımdır :
Problemin çözümü için birçok yöntem bulunabilir. Benim ilk aklıma gelden TDictionary oldu. Örneğin:
Dictionary: TDictionary<String, TSeninCreateEttiginClass>;
şeklindeki bir değişken olduğunu düşünelim. Sen her yeni sekme açtığında bu sözlüğe (Dictionary) o sekmenin ismiyle birlikte yeni oluşturduğun sınıfı eklersin.
YeniSinif := TSeninCreateEttiginClass.Create;
// bla bla
// ...
Dictionary.Add('YeniSekmeninIsmi', YeniSinif);
Sekme kapatılırken TDictionary içinde kapatılan sekmenin ismiyle arama yapıp ilgili YeniSinif'ını bulabilirsin(ContainsKey, TryGetValue)


Sınıfın event'lerini yakalama mevzusuna gelince:
Event tanımı içinde parametrelerden birisini TSeninCreateEttiginClass yapıp, class içinde değer verirken Self kullanırsan daha sonra bu event tetiklendiğinde kime ait olduğunu anlarsın.

Bu sefer de ben umarım anlatabilmişimdir Big Grin

Aklıma gelen bir başka yöntem de Tuğrul Bey'in daha önce tavsiye ettiği Tag özelliğini kullanmak. Yeni oluşturulan sekmenin Tag'ı içinde yeni oluşturulan class'ın pointer'ını saklayabilirsin.
There's no place like 127.0.0.1
WWW
Cevapla
#3
Demek ki doğru anlata bilmişim, Cevap gayet anlaşılır oldu Wink
TDictionary olayını kullanmamştım daha önce bir deneyim bakalım.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Nesneler arasındaki ilşkiyi/bağlantıyı tespit etmek 41linea41 2 99 14-09-2019, Saat: 13:09
Son Yorum: 41linea41
  Nesne Neden Free Olmuyor? Halil Han Badem 3 230 31-07-2019, Saat: 14:28
Son Yorum: sddk
  Json Free Etmek yhackup 4 476 31-07-2019, Saat: 11:17
Son Yorum: Halil Han Badem
  Fonksiyon içinde create edilenler seci20 8 378 22-07-2019, Saat: 15:38
Son Yorum: Tuğrul HELVACI
  Free Pascal'da AVLTree onurcan1977 2 415 08-06-2019, Saat: 18:22
Son Yorum: onurcan1977



Konuyu Okuyanlar: 1 Ziyaretçi