Jump to content


Photo

Form Links


  • Please log in to reply
5 replies to this topic

#1 otaskiran

otaskiran

    Newbie

  • uniGUI Subscriber
  • Pip
  • 3 posts

Posted 23 August 2017 - 10:00 AM

Merhaba,

 

Örnek projemde 2 form var. İlk form listeleme ve datasetlerin olduğu form, ikinci form iste listedeki elemanın tanım formu. Tanım formunda dbeditler mevcut. İkinci formdaki dbedit lere birinci formdaki dataseti ilk esnada başarıyla bağlıyorum. Ancak projeji kapatığ açtığımda "Module XXX links to module XXX which cannot be found in the current project. Do you wish to remove/redirect the links to another module?" soru ile karşılaşıyorum ve linkleri kaldırıyor.

 

Bu hatayı normal vcl projesi olsa neden aldığını biliyorum ancak bu projemde bir sorun yok ve bu dialog penceresi sürekli geliyor. Çözüm önerisi yada tecrübe etmiş arkadaş var mıdır?

Attached Files


  • 0

#2 Farshad Mohajeri

Farshad Mohajeri

    Administrator

  • Administrators
  • 9815 posts

Posted 23 August 2017 - 10:25 AM

Merhaba,

 

Hiçbir zaman bir formdaki controlleri başka bir formdaki dataset'lere bağlamyın. Bunun için MainModule veya uniGUI wizard'dan yarattığınız DataModule'leri kullanın.

 

Bu problem Delphi VCL'de de aynen karşınıza çıkacaktır.


  • 0

#3 _Mehmet_

_Mehmet_

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 486 posts
  • LocationAntalya / Turkey

Posted 23 August 2017 - 11:05 AM

Bu sorunun cikmamasi icin illaki baska bir formdaki dataset e baglanti yapacaksam. ilgili forma bir datasource ekliyorum.Tum bilesenleride bu datasource e iliskilendiriyorum. formun onshow olayinda da  kodla bu datasource baska formdaki datasete bagliyorum.

Boylece o hata mesaji cikmiyor.


  • 0

#4 otaskiran

otaskiran

    Newbie

  • uniGUI Subscriber
  • Pip
  • 3 posts

Posted 23 August 2017 - 11:16 AM

Tekrar merhaba arkadaşlar,

 

Sorunun üzerine ısrar etmek istemiyorum ancak ilk formum zaten parent ve ikinci formda child mantığında bir form.

DataModule leri olabildiğince kullanırım ancak yüzlerce formlu bir uygulamada dataset ve db objelerini olabildiğince bağımsız olarak parent formlarda konumlandırırım ve child lar ile arasında ilişki olarak child formlarda sorunsuzca data gösteririm. Bin adetlik formu olan projemde var ve bu tarz sorun yok. Child form kesinlikle parent form create ve show olmadan açılabilecek bir form değil, bu nedenle linkler mutlaka kurulur ve sorun olmaz. Ancak burada UniGui ye özel durum varsa bilemiyorum.

 

Yüzlerce form olan bir uygulama tüm datasetleri datamodule e konumlandırmak karışıklığa ve takip zorluğuna hatta ,yüzlerce dataset olduğunda datamodule un create olması bile bellek kullanımını gereksiz yere kullanılmayan objeler nedeniyle arttırır diye düşünüyorum.


  • 0

#5 Farshad Mohajeri

Farshad Mohajeri

    Administrator

  • Administrators
  • 9815 posts

Posted 23 August 2017 - 12:19 PM

Tasarım prensibi olarak da kesinlikle bunu yapmanızı tavsiye etmiyorum. Sadece dataset'ler değil. İki form hiçbir zaman doğrudan birbirini referans göstermemeli. uniGUI'de formlar dinamiktir. Framework tarafından gerektiği zaman yaratılırlar ve kapatıldıkları anda otomatik şekilde yok edilirler. Bu yüzden bir form diğer formdaki bileşenlere bağlamak bizim açımızdan doğru değildir.

 

İllaki datamodule kullanmak istemiyorsanız o zaman her form için ayrı dataset'ler kullanın ve ilgili formun üzerine yerleştirin.

 

Yalnız bu sorun sadece tasarım anında olan bir sorundur. Runtime'da tabiki bir form diğer bir formun bileşenlerini kullanabiliyor (tabi üstte bahsettiğim sakıncalarla beraber) . Tasarım anında ise eğer parent form IDE'de açık ise sorun olmaması lazım. Sorun ilgili form kapalı ise kendini gösterir. Bu VCL'de de aynıdır diye biliyorum.


  • 0

#6 otaskiran

otaskiran

    Newbie

  • uniGUI Subscriber
  • Pip
  • 3 posts

Posted 23 August 2017 - 01:00 PM

VCL de form açık olsada kapalı olsada sorun olmuyor. Child form açık, parent form kapalıyken bile linkte sorun görünmüyor. Ancak bu projede gördüm ki bunu design time da desteklemiyor. Bende ona göre hareket edeceğim. Her forma dataset eklemeyi seçmiştim bende şimdilik. Bilgilendirme için teşekkür ederim.

 

Herkese kolay gelsin.


  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users