selam arkadaşlar;
MDIChild formlarda cxgrid lerde seçili bilgileri Frxreport ile yazdırıyorum bir sorun yok fakat mdichild formu kapatıp tekrar açtığımda ve aynı işlemi yapmak istediğimde anlamsız hatalar veriyor çoğu zaman formu kapatmadan yaptığım işlemlerde sorun çıkmıyor..
formu kapattığımda frxreport'u falanda bellekten temizlemek falan gerekiyormuki acaba
Abrak yazdı:selam arkadaşlar;
MDIChild formlarda cxgrid lerde seçili bilgileri Frxreport ile yazdırıyorum bir sorun yok fakat mdichild formu kapatıp tekrar açtığımda ve aynı işlemi yapmak istediğimde anlamsız hatalar veriyor çoğu zaman formu kapatmadan yaptığım işlemlerde sorun çıkmıyor..
formu kapattığımda frxreport'u falanda bellekten temizlemek falan gerekiyormuki acaba
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if Sender=Form1 then Form1:=nil;
end;
sen eğer formu free yaparsan VCL'e ne kalır . Daha onClose olayından sonra VCL'in o formla başka işleri var. Sakın böyle kullanma. İyi çalışmalar.
Şaban Şahin AKMAN
_________________ Derin olan kuyu değil kısa olan iptir. - .
Burada soruyu yanlış aktarma ile ilgili sorunlar var galiba. Çünkü bu şekilde kullandığım hiç bir modülden hata yemedim. Belki başka bir noktada hata oluşuyordur. Bu arada formları göstermeden önce oluşturuyormusunuz. Mesela:
s.a.
arkadaşım sıkıntı formu free etmende değil free ettiğin formu tekrar create etmemende.
muhtemelen rapor formun otomatik olark create ediliyordur.(project>options>forms kısmından görebilirsin). sen formu ilk çağırdığın zaman normal gösteriyor sonra formu kapatınca formu free ediyorsun. tekrar formu çağırdığın zaman form free edildiği için AV alıyorsun. bunu engellemek için formu çağırmadan önce nil olup olmadığını kontorl edip nilse formu oluşturman yeter. Madem formu manuel oluşturuyorsun o zaman otomatik create listesinden çıkarda program açılırken fazla beklemesin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
aslangeri yazdı:s.a.
arkadaşım sıkıntı formu free etmende değil free ettiğin formu tekrar create etmemende.
muhtemelen rapor formun otomatik olark create ediliyordur.(project>options>forms kısmından görebilirsin). sen formu ilk çağırdığın zaman normal gösteriyor sonra formu kapatınca formu free ediyorsun. tekrar formu çağırdığın zaman form free edildiği için AV alıyorsun. bunu engellemek için formu çağırmadan önce nil olup olmadığını kontorl edip nilse formu oluşturman yeter. Madem formu manuel oluşturuyorsun o zaman otomatik create listesinden çıkarda program açılırken fazla beklemesin.
kolay gelsin.
sevgili aslangeri otomatik crate gibi bir hata yapmadım yalnız bir ayrıntı daha var fastreport bileşenlerini datamodulede kullanıyorum diğer formlarım daha öncede söylediğim gibi mdchildform lar
Son olarak tekrarlayım sorunumu hiçbir sorun gözükmüyor ilk açtığımda formu (anaformu kastetmiyorum) önizlemede falan sorun yok fakat ilgili formu kapatıp tekrar açtığımda önizlemeye geçerken hata veriyor ve programı kapatıp açmam gerekiyor düzelmesi için
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
aslangeri yazdı:s.a.
o zaman
kodları satır satır çalıştırıp hangi satırda hata verdiğine bakın.
verdiği hata mesaj(lar)ını tam olarak yazın.
bide öyle bakalım.
en sonda fastreport çalıştığında hata verdiği için kod hatası mevcut değil
av genelde create edilmemiş bir nesneye ulaşmaya çalıştığı zaman verir.
formları free ettiğiniz satırları iptal edip öyle bi deneyin. eğer hata vermezse sorun formları free etme yönteminizde olabilir.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
aslangeri yazdı:av genelde create edilmemiş bir nesneye ulaşmaya çalıştığı zaman verir.
formları free ettiğiniz satırları iptal edip öyle bi deneyin. eğer hata vermezse sorun formları free etme yönteminizde olabilir.
en başta demiştim birşey free etmem gerekiyor sanırım diye vede öyle oldu aslangeri sayende project>options>forms incelediğimde bütün frxDBDataset leri oraya tanımladığımı gördüm dolasıyla formu free ettiğimde ilgili frxDBDataset free edilmemiş oluyor ve aynı formu çağırıp işlem yapmak istediğimde free edilmemiş hafızadaki frxDBDataset ile çakışıyor diye bir sonuç çıkardım sanırım onları ilgili formlara aldığımda formla birlikte yok olacağından düzelecek gibi çözüm
ilgileriyle yönlendiren aslangeri ve sabanakman tşk ederim..
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..