Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Runtime'da Dinamik Form Oluşturma ve Formlar Arası Haberleşme
#1
Merhaba,

Basit bir soket uygulaması yapıyorum.

Burada Ana bir formum var. Bağlantıları burada listeliyorum.

Bir adet de kontrol isimli bir formum var. Bu form Dinamik olarak oluşturuluyor.

 Şimdi; 

Gelen tüm bağlantıları Listview nesnesinde tutuyorum. (ObjectList de olabilir.)

İstediğim bir Item'ı seçip kontrol formunu o bağlantı için oluşturuyorum. Bu formda "BaglantiId" isimli bir değişkenim var ve bu formdan ilgili bağlantıya komutlar gönderiyorum.

Bir adet Komut Parseleyici sınıfım var ve bu uzak makineden gelen istekleri parseleyip Kontrol formunda gösterilmesini sağlıyor.

Burada sorun şu;

Kontrol formunu aynı anda birden fazla bağlantı için oluşturduğumda, dolayısı ile hep son oluşturduğum forma geliyor bütün bilgiler ve diğer formlar atıl kalıyor. Halbuki istediğim şey, her cihaz için kontrol formunu sadece bir defa oluşturup gelen cihaza göre o cihaz için oluşturulmuş forma bilgilerin basılması.

Burada ilk olarak Parseleme sınıfımın altında Kontrol formunu tanımlayıp, onu da listview nesnesinin Data(Pointer) özelliğine atayabiliyorum. Bu sayede her bağlantı için sadece bir form oluşuyor. Ancak iki formu aynı anda açtığımda bilgiler birbirine karışıyor.

Bunun hakkında fikir verebilecek herkese teşekkür ederim.

İyi çalışmalar dilerim.
Cevapla
#2
Merhaba.

* Konrol formunu veri trafik yöneticisi şeklinde düşündüğünüzü anladım, dolayısıyla her bağlantı için bu forma bir talep gelecektir diye değerlendirerek; üretilen yeni form ile ilişkilendirecek şekilde class yapınıza nasıl ki bir BaglantiId tutuyorsunuz, bir de owner form gibisinden bir form handle için bir değişken tutmak isteyebilirsiniz.

* Böylece protokol gereği işleme tabi tutulmadan önce sahip form da bilinmiş olacaktır. İlgili form açıksa yönlenir, değilse kontrol formunda gereği yapılır.

* Asıl protokol yapınızda gönderenin, alıcı forma yönelik bir veri (baglantiId'yi) biliyor olması lazım. Yani ilk bağlantıda bu üretilen BaglantiID'yi client'e yollayın ve client projeniz kendini bilsin. Çağrılarda da bu ID'yi mutlaka göndersin.

Kendi uyguladığım protokol örneği için başka bir başlıkta bahsetmiştim. bkz. bu link
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#3
Merhaba Hocam, cevabınız için teşekkür ederim. Farklı bir yöntem ile çözüm sağladım. Bağlantı listesini yani business tarafını bir generic collection da tuttum. Bunun içerisinden "n" kadar formu pointer kullanarak benzersiz ve handle'ı yakalayacak şekilde modifiye ettim.

İyi çalışmalar herkese.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Netsis ENTEGREFKEY Oluşturma Hk. OZCANK 5 723 10-10-2025, Saat: 21:17
Son Yorum: OZCANK
  ingenico yazar kasa ile haberleşme. tuna 7 3.049 01-07-2025, Saat: 12:12
Son Yorum: tuna
Information Uygulama yönetici olarak mı çalışıyor? (runtime tespit etme) bakyuz 0 395 28-04-2025, Saat: 17:22
Son Yorum: bakyuz
  2 Tarih arası periyodik tarih parçalama fonksiyonu adelphiforumz 4 945 17-02-2025, Saat: 17:33
Son Yorum: adelphiforumz
Video runtime packages deposizm 5 960 05-02-2025, Saat: 09:54
Son Yorum: damert6



Konuyu Okuyanlar: 1 Ziyaretçi