creat edilen formları yönetmek ve bilgi gönderimlerini ....

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

creat edilen formları yönetmek ve bilgi gönderimlerini ....

Mesaj gönderen oguthan »

Merhaba değerli arkadaşlar,
Bir uygulama düşünün bir müşteri listesi var ve bu liste fatura , kasa , banka , irsaliye , sipariş gibi bir çok formdan creat edilebiliyor diyelim ki fatura formunun içinden müşteri formu creat edilsin açılan müşteri formunda ilgili müşteriyi aktar butonu ile fatura formuna bilgiler aktarılıyor buradaki yapı bigi diğer formlardan da müşteri fomundan bilgi istenebiliyor ve benim içinden çıkamadığım olay şu : ben müşteri formuna bir gizli edit koydum ve her form müşteri formunu creat ettikten hemen sonra o müşteri formundaki edite kendi adını yazıyor ve müşteri formu da o editteki ada bakarak bilgiyi gönderiyor
Örn:
try
Application.CreateForm(Tfrm_musteri, frm_musteri);
frm_musteri.q_liste.Open;
frm_musteri.yer.Text:='500';
frm_musteri.Show;
Except
Exception.Create('Nesne Oluşturulamadı !');
end;
yukarıdaki koddan da anladığınız gibi form oluşturuldu ve forma seni ben creat ettim denildi

müşteri formu de bilgiyi bu şekilde gönderiyor:

if yer.Text='500' then
begin
frm_faturalar_alis_ekle.q_listecari_id.Value:=q_listeid.Value;
frm_faturalar_alis_ekle.q_listecari_code.Value:=q_listekod.Value;
frm_faturalar_alis_ekle.q_listecari_unvan.Value:=q_listeunvan.Value;
CLOSE;
end;

sitem bu şekilde çalışıyor ama diyelim ki kullanıcı faturada müşteri listesini creat etti bilgileri aktar demedi acilen kasaya gitmesi gerekti kasadan hemen bir taksilat yaptı tabi kasa da tahsilat yaparken de müşteri formunu creat etti ve oradaki ediye "yer.text:=300" atadı ve işini bitirdi ama faturanın içinden creat ettiği müşteri formundaki editin içerisi 300 oldu ve müşteriyi seçip aktar dediğinde accses volation hatası veriyor ki bu gayet normal çünkü edite 300 yazan form "tahsilat formu" taksilat bitince nil yapıldı.

Action:=caFree;
frm_tahsilat:=nil;

bu şekilde çalışan bir sistemde müşteri formuna öyle birşey demeliyim ki seni creat eden form hangi formsa sen bilgiyi oraya gönder.

Açıkçası ekranda 5 tane müşteri formu olsun her bir müşteri formu da başka formlardan creat edilsin ce hangi müşteri formu bilgiyi nereye gönderecek onu yönetmek istiyorum.

Şimdiden teşekkür ederim.
oguthan
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
create edilen formalara yeni public bir değişken ekle.
ownerform gibisinde. sonra gerekli yerde ownerformu kontrol ederek ilgili formlara ulaşabilirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

a.s Kardeşim

Mesaj gönderen oguthan »

Önerini biraz daha açabilirsen sevinirim bunu yaparak neyi kazanmış olucam onu anlayamadım?
oguthan
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

müşterilistesine ownerform isimli bir değişken tanımla. müşteri listesini çağırdığın yerde bu değişkeni set et.
böylelikle müşteri formunu hangi formu çağırdığını bulabilirsin. geri dönüşleride ona göre yaparsın.
müşterilistesinde seç dediğin zaman
eğer ownerform=tahsilat formu ise ona göre işlem yap.
çek formuysa ona göre işlem yap
vs. vs.vs.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla