s.a arkadaşlar şimdi ben bi form üzerinden 5 ayrı işlemi birden yaptırmaya çalışıyorum. şöyleki
şimdi menude 5 buton var. bu butonlar hep aynı forma gidiyor. tabi her işlem içinde ayrı bi buton var bu formda. menu formda butonlara basıldığında butonların visible özellikleri ile oynayarak 5 işlemi aynı formda yapmaya çalışıyorum. mesela bi butonun kodları şöle:
genel_form:=tgenel_form.Create(Application);
with genel_form do
begin
yeni.Visible:=true;
yeni1.Visible:=False;
yeni2.Visible:=False;
yeni3.Visible:=False;
yeni4.Visible:=False;
kaydet.Visible:=true;
kaydet1.Visible:=False;
kaydet2.Visible:=False;
kaydet2.Visible:=False;
kaydet3.Visible:=False;
kaydet4.Visible:=False;
vazgec.Visible:=true;
vazgec1.Visible:=False;
vazgec2.Visible:=False;
vazgec3.Visible:=False;
vazgec4.Visible:=False;
onizleme.Visible:=true;
onizleme1.Visible:=False;
onizleme2.Visible:=False;
onizleme3.Visible:=False;
onizleme4.Visible:=False;
SCGroupBox1.Visible:=True;
SCGroupBox2.Visible:=True;
SCGroupBox1.Transparent:=True;
SCGroupBox2.Transparent:=True;
SCGroupBox3.Visible:=False;
SCGroupBox4.Visible:=False;
SCGroupBox5.Visible:=False;
SCGroupBox6.Visible:=False;
SCGroupBox7.Visible:=False;
SCGroupBox8.Visible:=False;
SCGroupBox9.Visible:=False;
SCGroupBox10.Visible:=False;
end;
genel_form.ShowModal;
genel_form.free;
kasamenu_form.Hide;
burada kasamenü ana form genel formda 5 işlemi yaptığım bi form.
fakat mesela bu genel formda yeni butonuna basınca hata veriyo
tüm butonlardan giriyorum hep hata veriyor. hata şöle
"access Violation at address 05..." gibi bi hata.
yardımcı olursanız sevirim..
selam ve dua ile....
Mustafa bey, demişki access Violation at address hatası
bu hata olmayan bir nesneye ulaşmaya çalışıyorsunuz hatası. Olmayan (create edilmemiş) bir form gibi. Bunu tespit etmenin en iyi yolu adım adım çalıştırıp, hangi satırda hatayı veriyorsa o satırdaki nesneleri bir kontrol etmek.
Ayrıca giriş formunu ana formun OnShow olayında da gösterip, yok edebilirsiniz. Ben hep OnShow'da yapıyorum.
Bu tarzda düşün eminim sorununu çözersin...
if not Assigned(genel_form)then begin
genel_form:=tgenel_form.Create(Application);
with genel_form do
begin
.....
end;//If in end i
genel_form.ShowModal;
if Assigned(genel_form)then FreeAndNil(genel_form);
....
//Bu kısmı Unit in en alt kısmına ekleyin. Yaptığı iş Application ilk çalıştığında
//hiç bir şey create edilmeden önce tün unitlerdeki initialization kısımları işletilir.
initialization
genel_form := nil;
end.
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak... Zoru başarırım, İmkansız zaman alır FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!