Bir sorum olucak.Açıklamaya çalışayım.Ancak eğer yeterince açık olmazsa diye örnek bir küçük projeyide paylaşıyor olacağım.
Şimdi
1 Adet BaseList Formum var.
1 Adette BaseEdit Formum var.
Sonra bunlardan onlarca Form türeteceğim.
Örneğin
BaseListten CariList,KasaList,HesapHareketList,........ gibi gibi giden.
BaseEditten CariEdit,KasaEdit,HesapHareketEdit,........ gibi gibi giden.
Şimdi türetmiş olduğum child bir form olan CariList üzerine aldığım bir butonun clickine aşağıda ki kodu yazarsam CariEdit formu create der ve gösteririm.
Kod: Tümünü seç
Application.CreateForm(TFrmCariEditForm,FrmCariEditForm);
FrmCariEditForm.ShowModal;
Ancak bunun için her türettiğim XXXListForma bu kodu yazmam gerekir.
Oysa ben ata form olan BaseList Forma bir button koymalı ve onun clickine bir kod yazmalıyım.Sonra türettiğim form hangi alanla ilgili ListForm ise o alanla ilgili EditFormu açmalı,
bu türettiğim ListFormda yukarıdaki kodu tekrar tekrar yazmamalıyım.
Bunu şu şekilde çözmeye çalıştım.
BaseList Formda public blokta şöyle bir değişken tanımladım.
Kod: Tümünü seç
MyEditForm:TFrmBaseEditForm;
Sonra BaseList Formdaki EditFormu açtırmak istediğim butonun clcikine aşağıdaki kodu yazdım.
Kod: Tümünü seç
Application.CreateForm(TFrmBaseEditForm,MyEditForm);
MyEditForm.ShowModal;
Örnek CariList formda şu şekilde set ediyorum.
Kod: Tümünü seç
MyEditForm:=FrmCariEditForm;
Ancak bu atamaya rağmen CariList formdaki click eventindeki inherit cod CariEdit formu create etmek yerine BaseEdit formu create ediyor.
Aşağıdaki gibi.
Oysa olmaısnı istediğim görüntü aşağıdaki gibi:
Hatalı kod yazdığımın farkındayım.Bu şekilde çalışmaması gayet doğal.Ancak bu yapmak istediğimi nasıl yapabilirm.
Yardımcı olacak arkadaşlara şimdiden teşekkürler....
Örnek Projeyide daha net olması açısından paylaşıyorum.
Project1.rar - 9 KB