Messagedlg formun arkasinda gozukuyor?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Messagedlg formun arkasinda gozukuyor?

Mesaj gönderen Glen »

Selam,

Mdi yapi kullaniyorum.. Ana menuden tüm formlar mdi olarak açılıyor, ama ana menu dışında (örneğin ilçe kaydı yaparken il seçmek gibi.. ) herhangi bir forma tıkladığımda ise " ShowModal " olaak göstertiyorum..

Sorunum şu, mesela İL formuna ana menuden ulaştığımda ve değişiklik işlemi yaptığımda showmessage ile kullandığımda Formun üstünde gayet düzgün bir şekilde gözüküyor...

Ancak ben bu İL formunu showmodal ile gösterdiğimde, showmodaldayken herhangi bir mesaj çıkarmak istediğimde (MessageDLG kullanarak) formun arkasında gözüküyor.. böylelikle form ShowModal konumunda olduğu için, program donmuş gibi oluyor.. çünkü arkada çalışan bir mesaj var ve onun işi bitmemiş oluyor tıklayamadığı için..

Bunu nasil engelleyebilirim? yani göstereceğim Mesaj formun arkasında değilde önünde gözükecek.. Showmodaldayken form.

Umarım açık ve net olmuştur, eğer anlayamadığnız bir nokta olursa tekrar açıklayabilirm..

Teşekkürler, iyi günler herkese kolay gelsin
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam
showmessage('Merhaba glen');
form2.showmodal; :)
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

yok abi yanlis anlasilma oldu.. yani $öyle ....

butuniller diyelim bütün illeri gösteren form olsun..
butunilceler bütün ilçeleri gösteren...

ilekleform illerdeki il ekleme formu
ilceekleform ilceekleme formu

Adam anamenuden butuniller e tikladi, butuniller mdi olarak acildi ve butuniller gozuktu.. sonra il ekleme butonuna basti ilekleform acildi (showmodal olarak acildi).. bilgileri doldurdu.. kaydet butonuna bastiginda karsiina bi mesaj cikti
ShowMessage('kayıt başarıyla yapıldı') diye.. İşte bu mesaj, gayet duzgun cikiyor... (Showmodal konumundaki ilekle formunda oluyor bu olay)

Şimdi sorunun kaynaklandığı nokta.

Adam anamenuden butunilceler e tikladi ve butun ilceler acildi.. butunilceler formunda bulunen Ekle butonuna basti.. "ilceekleform" ShowModal olarak acildi... İlceekleformdaki ilseçimi butonuna tikladi ve işte orda bütüniller (ShowModal olarak) acildi... bütün illerdeyken eger ekleye basarsa "ilekleform" showmodal olarak aciliyor tekrar..

İşte adam o sirada kaydetmek isterse herhangi bir il, o zaman ne yapıyor.. ShowMessage('kayıt başarıyla yapıldı') oluyor dimi.. İşte bu mesaj arka planda gözüküyor.. Halbuki 1. anlattığımda önde gözüküyordu gayet güzel :)

Of allahım of :) çok karışık oldu inşallah anlatabilmişimdir.. tekrar anlatırım yine olmazssa:)

Kolay gelsin
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

Şimdi farkına vardım ya bütün formlarda bu sorun oluyormuş :(

Yani bir formu showmodal ile gösterdiysem ve ardından showmodaldayken başka bir formu tekrar showmodal gösterdiysem..
2. showmodal gösterilen formdaki bütün mesajlar arka planda gözüküyor.. ama sadece 1. showmodal gösterilen formdaki bütün mesajlar normal gözüküyor..

demin anlattığımda buydu yani iç içe açma olayi.. :(
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

showmessage ile çözüm nasıl olur bilmiyorum ama messagebox apisini kullanırsanız mesajın görüneceği düzeyi ayarlayabiliyorsunuz.



MB_APPLMODAL , MB_SYSTEMMODAL , MB_TASKMODAL v.b. ...
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

sadettinpolat yazdı:showmessage ile çözüm nasıl olur bilmiyorum ama messagebox apisini kullanırsanız mesajın görüneceği düzeyi ayarlayabiliyorsunuz.



MB_APPLMODAL , MB_SYSTEMMODAL , MB_TASKMODAL v.b. ...

MessDlgs diye bir component kulalniyorum. Böyle mesajlari işte gradient göstermek icin filan onda sanirim yok messagebox..

Ama işin kötü yani bu componenti kullanmasam bile bu messageboxda onaylama işlemelr filan varmi yani evet hayir iptal butonlari cikarma.. cunku ben ayni (kayit ekleme formunu) formu, kaydı değiştirmek için de kullaniyorum yani...

orda adama Kaydı değiştirmek istediğnie emin misniz? diye bir onay mesaj cikariyorum. eğer evete basarsa değiştiriyor.. vazgeç'e basarsa yine o formda kaliyor.. Yanliz mantigini anliyamadim.. Showmodal gösterilen bir formdan tekrar showmodal olarakbir form gösterince 2. showmodal gösterilen formdaki mesajlar vs 1. showmodalda neden gözüküyor ki? 2. showmodal yapilan formun üstünde gözükmesi gerekmiyor mu?
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

hey allahim :)

sorun bundan mi kaynaklaniyor bilmiyorum ama.. komik oldu ya :) cözüldü sorun ama allahtan :D

visible degerini false yapmayi unutmu$um bir de ilk formdan 2. formu acarken ba$tan

form2.formstyle := FsMdiChild;
form2.formstyle := FsNormal;

gibi bir $ey yapmi$im MdiChild kismini sildim bir de form2 deki ekleme formunu visible degerini false yaptim düzeldi.. allah alah:D
Cevapla