Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
486
Tıklama
0
Öne Çıkarma
Delphi bilenler bi bakın
K
20 yıl
Teğmen
Konu Sahibi

beceremedim bu sorunu çözmeyi..sizin söylediklerinizdede acsess voilation hatası veriyo..
şimdi iyice anlatayım sorunumu..
8 tane butonum var.hepsi ayrı bi child formu açıyo..bide ana sayfam var buda direk program çalışınca ekrana geliyo..
yapmak istediğim bi butana basınca sadece o child form açılsın diğer tüm chil formlar kapansın..ama ekranda child form yoksa ve butana basınca diğer child formları kapatmaya çalışınca bulamdığı için hata veriyo bunu önlemem lazım...bişeyler yaptım olmadı..hep acssess voilation hatası veriyo..(bu ne hatası tam olarak)

bide child formalar "application create" la açılıyo..ve kapanırkende "cafree " kullnamıştım.

yani aslında yapılması gereken ilk önce sorgulamak varsa kapat yoksa bişey yapma formu aç..ama bu kadar basit bişeyi hala çözemedim..

yardım edin.



S
20 yıl
Yüzbaşı

projeniin o kısmının kodlarını emailime gönderirsen yardımcı olmaya çalışırım.

salvador24m@hotmail.com


Bu mesaja 1 cevap geldi.
E
20 yıl
Teğmen

bir tane boolean değişken tanımla. başlangıç olarak false değeri yükle (başlangıçta child form yoksa). child form açınca değerini true yap. tüm child formları kapatınca değerini false yap bu kadar basit anlattığına göre.. ama tabi ben yanlış anlamış olabilirim senin sorununu. Eğer 8 ayrı child form var ve hepsini ayrı ayrı çalışıyor mu diye takip edeceksen o zaman da 8 elemanlı bir boolean dizi işini görür.



İ
20 yıl
Binbaşı

quote:

Orjinalden alıntı: Kazimlee

beceremedim bu sorunu çözmeyi..sizin söylediklerinizdede acsess voilation hatası veriyo..
şimdi iyice anlatayım sorunumu..
8 tane butonum var.hepsi ayrı bi child formu açıyo..bide ana sayfam var buda direk program çalışınca ekrana geliyo..
yapmak istediğim bi butana basınca sadece o child form açılsın diğer tüm chil formlar kapansın..ama ekranda child form yoksa ve butana basınca diğer child formları kapatmaya çalışınca bulamdığı için hata veriyo bunu önlemem lazım...bişeyler yaptım olmadı..hep acssess voilation hatası veriyo..(bu ne hatası tam olarak)

bide child formalar "application create" la açılıyo..ve kapanırkende "cafree " kullnamıştım.

yani aslında yapılması gereken ilk önce sorgulamak varsa kapat yoksa bişey yapma formu aç..ama bu kadar basit bişeyi hala çözemedim..

yardım edin.


Showing methodu formun bellekte olup olmadığını denetler. bu fonksiyon ile formun görünüp görünmediğini anlayabilirsin !

diyelim form1,form2,form3 formlar olsun!

form1.show;
form2.show;

dedik;

if form1.showing = True then -> dersek true döner çünkü form1 bellekte

if form3.showing = True then -> dersek false döner çünkü show yapmadık.

bu şekilde anlarsın if kullanarak kendine göre bir mantık algoritması kur.
Birde eğer Application.Createform methodunu kullanıyorsan formları asla close ile kapatma release yap yoksa pişman olursun


Bu mesaja 1 cevap geldi.
D
20 yıl
Yarbay

şimdi bir child form açmadan hepsinin kapanmasını istiyorsun yani.
hımm. ozaman basit bir prosedur yazalım.

procedure CloseChildForms;
var
i: integer;
begin
for i:=0 to Form1.MDIChildCount - 1 do
if Form1.MDIChildren is TForm2 then Form1.MDIChildren.Close;
end;


şimdi buradaki form1 senin mdi formun oluyor.!
form2 de mdichild formun oluyor. sakın karıştırma! sende programını buna göre düzenle.
kodu denemedim. deneme imkanım yok zaten intnernet cafedeyim.:) ama büyük ihtimalle çalışır. bir hata olduğunu sanmıyorum.

kolay gelsin.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.