11-10-2019, Saat: 22:16
@sadettinpolat ;
Aşağıdaki şekilde yazmıştım.
Bu söylediğiniz şekilde yaptığımda bellekte CariEditForm un varlığını kontrol ettiğimde form açık olmasına rağmen Free ve Nil olarak görünüyor.
Tekrar şartlı create yaptığımda (Başka bir yerden) , şöyleki Assigned(FrmCariEditForm) False veya FrmCariEditForm=nil ise true dönüyor ve dolayısıyla bir CariEdit form daha create oluyor ve adıda FrmCariEditForm_1 oluyor. Ama tekrar bir daha bu kontrolü yaptığımda ise ancak o zaman Assigned(FrmCariEditForm) True veya FrmCariEditForm=nil ise False dönüyor ve üçüncü kez CariEditForm create olayını, yani FrmCariEditForm_2 oluşmasını engelleyebiliyorum.
Ancak bir şeyi gözden kaçırmışım.
Her ne kadar Name propertysi FrmCariEdit form olsa da, MyEdit form isimli referans ile revize edildiğinden, Assigned ve/veya Nil kontrolü yaparken, Form ekranda görünmesine rağmen Assigned False dönmesinin sebebi buymuş.Dolayısıyla projelerimde başka formlarda fazladan bir değişken tanımlamamak için, formun kullanımda olup olmadığını, açık olup olmadığını öğrenmek amaçlı yaptığım Assigned kontrolünü, Visible propertysi ile yaparsam sanırım bu sorun çözülmüş olacak.
Yani
yerine
Kodu işimi çözecek.
Assigned kontrolunun gerektirdiği durumlarda da, MyEdit form üzerinden kontrol yapacağım.
İlgi ve alakanıza teşekkürler....
Aşağıdaki şekilde yazmıştım.
Bu söylediğiniz şekilde yaptığımda bellekte CariEditForm un varlığını kontrol ettiğimde form açık olmasına rağmen Free ve Nil olarak görünüyor.
Tekrar şartlı create yaptığımda (Başka bir yerden) , şöyleki Assigned(FrmCariEditForm) False veya FrmCariEditForm=nil ise true dönüyor ve dolayısıyla bir CariEdit form daha create oluyor ve adıda FrmCariEditForm_1 oluyor. Ama tekrar bir daha bu kontrolü yaptığımda ise ancak o zaman Assigned(FrmCariEditForm) True veya FrmCariEditForm=nil ise False dönüyor ve üçüncü kez CariEditForm create olayını, yani FrmCariEditForm_2 oluşmasını engelleyebiliyorum.
Ancak bir şeyi gözden kaçırmışım.
Her ne kadar Name propertysi FrmCariEdit form olsa da, MyEdit form isimli referans ile revize edildiğinden, Assigned ve/veya Nil kontrolü yaparken, Form ekranda görünmesine rağmen Assigned False dönmesinin sebebi buymuş.Dolayısıyla projelerimde başka formlarda fazladan bir değişken tanımlamamak için, formun kullanımda olup olmadığını, açık olup olmadığını öğrenmek amaçlı yaptığım Assigned kontrolünü, Visible propertysi ile yaparsam sanırım bu sorun çözülmüş olacak.
Yani
Kod: (Select All)
if Assigned(FrmXXX) then
begin
//Şunu Yapma
//Bunu Yap
end
else
begin
//Bunu Yapma
//Şunu Yap
end;yerine
Kod: (Select All)
if FrmXXX.Visible then
begin
//Şunu Yapma
//Bunu Yap
end
else
begin
//Bunu Yapma
//Şunu Yap
end;Kodu işimi çözecek.
Assigned kontrolunun gerektirdiği durumlarda da, MyEdit form üzerinden kontrol yapacağım.
İlgi ve alakanıza teşekkürler....

