Seçim Formu hangi ButtonEdittten çağrıldı ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen hasan »

Arkadaşlar bir formda 2 Button edit var ve ikisinden de aynı Cari Seçim Formunu çağırıyorum,Cari Seçim formunda seçtiğim carinin ID sini ve Adı nı , alttaki formda hangi buttonedit'ten çağırdıysam ona göndermesini sağlamak istiyorum ,bir ik,i deneme yaptım ama "Access Violation..." hatası alıyorum , bununla ilgili bir örnek yazarsanız sevinirim,glabal olarak kullanacağım bu işlemi,yani tüm projede tek bir cari seçim formu olacak , nerden çağırıldı ise o alana veri yollayacak.Nasıl yapılır

teşekkür ederim....
::::::::www.BursaEmlak.com:::::::::
Emlak ve Emlakçının buluşma Noktası
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
cariseçim formunun public kısmına birtane değişken tanımla. (ben olsam tform tipinde bir değiken tanımlarım "CallerForm : TForm" gibi.
sonra cariseç formunu show etmeden önce formun callerform unu set ederim. (hatta ileri gidip onshow olayında callerform set edilmediyse formu açma kardeşim gibi birşeyde yapabilirsiniz) sonra cariseç formunda "seç" düğmesine basıldığı zaman

Kod: Tümünü seç

if (callerform is tfaturaformu) then 
faturayacariyiata
if (callerform is traporformu) then 
  raporcariyiayarla
gibi düzenlemeler yapardım. callerformun tipinin tform olmasına gerek yok. integer de olabilir. o zaman karşılaştırlamaları ona göre yapman lazım tabi...
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
F.Atagun
Üye
Mesajlar: 158
Kayıt: 01 Oca 2008 01:56

Mesaj gönderen F.Atagun »

Hocam ben forumdaki bilgilerden yararlanmıştım. Şu şekilde yapıyorum


gonderenbutton 'u global değişken tanımla.

Buttona tıklayında çalışan kod

Kod: Tümünü seç

gonderenbutton:='SENET';
Form20.Show;

Form 20 de ise şöyle bir mantık kullandım.

Kod: Tümünü seç

if  (gonderenbutton= 'SENET' )   then     // SENETLERDEN Geldi...
      begin
      Form21.Label2.Caption:=dbgrid1.Fields[0].Text;
      Form21.Label3.Caption:=dbgrid1.Fields[1].Text;
      Form21.Show;
      Form20.Close;  // Cari Kartlar
      end; 

Değişik yada daha kolay yolları olabilir

Bu arada Bursada 6 sene kaldım. Selamlarımı yolluyorum


Kolay gelsin
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

Re: Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen hasan »

cevaplarınız için teşekkür ederim arkadaşlar ama şöyle bir sorun var ; Ben Integer olarak tanımlamayı tercih ettim,

Kasa Kartından aşağıdaki gibi cariEcimFormu nu çağırıyorum ;

Kod: Tümünü seç

CallerForm  :=  2 ; // 
 with TfrmCariSecim.Create(nil) do
    begin
       ShowModal;
       Free;
   end;
Cari Seçim Formunda Seç Butonuna a tıkladığımda Access Violatiıon hatası veriyor ve

Seçim Butonu Click Olayı

Kod: Tümünü seç

   If CallerForm = 2 Then
***    frmKasa.CariID.EditValue :=  dmGlobal.QueryCariSecimID.AsInteger;
    frmKasa.CariAdi.Text      :=  dmGlobal.CariSecimAdi.AsString;
 
Yukarıda başında yıldız olan satırda kırılıyor Program , ne olabilir arkadaşlar ?
::::::::www.BursaEmlak.com:::::::::
Emlak ve Emlakçının buluşma Noktası
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen aslangeri »

s.a.
A.V. genelde oluşturulmamış bir nesneye erişmeye çalıştığınız zaman karşılaşılan bir durumdur.
sorun sanırım frmkasa yı create ettiğiniz kodda.
eğer frmkasa yıda frmCariSecim formunu create ettiğiniz kod gibi create ediyorsanız frmKasa yı değil frmKasa nın bir kopyası (diyelim) nı create ediyorsun. ve direk frm kasa yı kullanmak istediğin için a.v. alıyorsun.
integer yerine form kullanırsan bu sorunun hallolacaktır.
form olsaydı kod şöyle olacaktı.

Kod: Tümünü seç

CallerForm  :=  self;//bu hangi formda çağırıyorsan o form anlamında
with TfrmCariSecim.Create(nil) do
    begin
       ShowModal;
       Free;
   end;

Kod: Tümünü seç

  If (CallerForm is TfrmKasa) Then
    (CallerForm as TfrmKasa).CariID.EditValue :=  dmGlobal.QueryCariSecimID.AsInteger;
    (CallerForm as TfrmKasa).CariAdi.Text      :=  dmGlobal.CariSecimAdi.AsString;
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

Re: Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen hasan »

s.a aslangeri hocam , çok saolsın oldu dediğin gibi , benim bu knuyla ilgili bir sorum daha olacak , eğer Kasa formunda bu CariSeçim Formunu birden fazla alandan çağırıyorsam,hangi yol daha uygun ve kullanışlı olur, ilgili editin TagID sini de mi hesaba katayım sence ? yoksa TEdit türünde bir değişken mi koymalıyım yine bu şekilde ...?
::::::::www.BursaEmlak.com:::::::::
Emlak ve Emlakçının buluşma Noktası
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen aslangeri »

s.a.
callerform un tagını kullanabilirsin.
showmodal dan önce kasa formunun tag ına değer atarsın.
seç düğmesindede

Kod: Tümünü seç

(callerform as txxxform).tag
diye kontrol edersin.
en basit bu yöntem gibime geliyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

Re: Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen hasan »

yok anlamadın sanıırm son dediğimi :)
CallerForm'da 5 editButton olacak mesala, , ben Hepsinin Tagına 1,2,3,4,5 yazacam ve butona basınca bu değerleri Buton değişkenine atayarak yapıyorum artık.Böylece Hangi formun hangi Componentinden çağırıldığını böle anlıyom ve o edite ID leri yolluyom , aklıma gelen en kısa yol bu gibi düşündüm , iş görüyor artık ...

tekrardan yardımların için tşk hocam ,
::::::::www.BursaEmlak.com:::::::::
Emlak ve Emlakçının buluşma Noktası
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen aslangeri »

:D
ben senin ne yapmak istediğini anladım ancak sen benim ne demek istediğimi anlamadın gibime geliyor.
neyse önemli olan olayı halletmen.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

Re: Seçim Formu hangi ButtonEdittten çağrıldı ?

Mesaj gönderen hasan »

Hocam bu konu ile ilgili değil ama şu sorunuma da bi el atar mısın :)
Sağlam ve Online bir Lisanslama sistemi istiyorum.Bunun için uygun bir ücret ödemeyi de düşünebilirim,eğer vaktin varsa hocam...
Programın ilk verisyonunu piyasaya çıkarcam ama lisans olayı olmayınca çıkaramadım daha :)
viewtopic.php?f=2&t=22749
::::::::www.BursaEmlak.com:::::::::
Emlak ve Emlakçının buluşma Noktası
Cevapla