form nasıl create edilir

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ecem
Üye
Mesajlar: 61
Kayıt: 17 Eki 2006 11:32
Konum: konya

form nasıl create edilir

Mesaj gönderen ecem »

arkadaşlar form nasıl create edilri geçişlerde sorun oluyoda yardımcı olursanız sevinirim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Nasıl problemler oluyor.
Formları birbirlerine bağladın mi? Project menüsünden??
veya açmaya çalıştığın form alttamı kalıyor. direkmi hata alıyorsun geçişlerde??
Daha açıklayıcı bilgiler verirseniz bilgi almanız daha kısa sürer.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
ecem
Üye
Mesajlar: 61
Kayıt: 17 Eki 2006 11:32
Konum: konya

Mesaj gönderen ecem »

formları project menüsünden bağlamdım sadece butonlara geçişlri yazdım
bi formdan başka bi form geçince üst üste gibi duryo alttaki gözüküyo bu da hoş gözükmüyo geçişlerde butonlara mesela

Kod: Tümünü seç

about.show;
form4.close;
yazdım bunların yerlerini değiştirice çalışıyo fakat abouta basınca hata veriyo hata ise şu
project project1.exe.raised exception class EInvalid operation with message 'cannot change .visible in on show or on hide.'process stopped.use step or run to contiune.
bu şekilde ok ve help seçenekleri var
yukardaki kodun yerleri değişince nbu hatayı vermiyo ama değim gib üst üste duryo bunuda formları create edince bu sorunun kalkacağını düşündüğüm için
create etmek isteiyorum ama nasıl yapcağımı bilmiyorum teşekkürler
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
öncelikle project -> options bölümünden available forms kısmında kendin oluşturmak istediğin formları ayarlar.
daha sonra istediğin formu create edip kullanmak için

Kod: Tümünü seç

if formadi=nil then
application.createform(formadi,tformadi);
formadi.showmodal;// yada show sana kalmis
şeklinde formu çağırıp kullanabilirsin.
eğer formları showmodal olarak çağırırsan
showmodaldan sonra

Kod: Tümünü seç

freeandnil(formadi)
komutunu kullanarak formun hafızadan atılmasınıda sağlayabilirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
ecem
Üye
Mesajlar: 61
Kayıt: 17 Eki 2006 11:32
Konum: konya

Mesaj gönderen ecem »

bu kodu formun on create olyına mı yazcam
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

hayır buttonun click ine
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
ecem
Üye
Mesajlar: 61
Kayıt: 17 Eki 2006 11:32
Konum: konya

Mesaj gönderen ecem »

iyide formda bi rsürü buton var hepsine mi yazcam hem yazdım hata veriyo

Kod: Tümünü seç

[Error] Unit4.pas(66): Incompatible types: 'TComponentClass' and 'TForm4'
mesela ben ana formu create lemek istiyorum değiğnizi yaptım about butonuna yazdım
tam nereye yazacğımı net söylesenz
karışıklık olmaz
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

En basit olarak formların bellekte çok fazla yer kaplamıyor ise ki herhalde kaplamaz.

Kod: Tümünü seç

form4.visible:=false
ile formu gizleyebilirsin.
about formundan çıkarken de

Kod: Tümünü seç

form4.visible:=true

geri getirirsin.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
butona tıkladığında hangi formu göstermek istiyorsan onu create edeceksin.
create codunu yanlış yazdığın için hata veriyor. tip uyuşmazlığı diyor.
ne yazdığını gönderirsen çözümünü bulabiliriz
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
ecem
Üye
Mesajlar: 61
Kayıt: 17 Eki 2006 11:32
Konum: konya

Mesaj gönderen ecem »

form4 te mesela imagete buton resmi var içndede şu kod var

Kod: Tümünü seç

procedure TForm4.Image2Click(Sender: TObject);
begin

form1.adoquery2.Close;
 form1.adoquery2.SQL.Clear;
  form1.adoquery2.SQL.Add('select * from urun5 where marka='+QuotedStr(ComboBox1.Text));
 form1.adoquery2.Open;
  form1.Show; 
   


end;


buraya sizin ilk başta verdiğiniz kodu yazdım

Kod: Tümünü seç

if form1=nil then 
application.createform(form1,tform1); 
form1.show;
bukodu ekledim aviableformsdanda form1 oraya aktardım



[Error] Unit4.pas(92): Incompatible types: 'TComponentClass' and 'TForm1'


bu hatayı veriyo yine yanlış yaptığım bişey varmı yardımınız için teşekkürler iki gündür bunula uraşıom artık bi çözüm...........
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
kusura bakmayın akşam tform1 ile form1 in yerlerini yanlış yazmışım.
create form kısmı şu şekilde olacak.

Kod: Tümünü seç

application.createform(tform1,form1);
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
ecem
Üye
Mesajlar: 61
Kayıt: 17 Eki 2006 11:32
Konum: konya

Mesaj gönderen ecem »

çalıştı ama bu sorunumu halletmedi formlar üst üste doruyo of
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

kodu şöyle yapabilirsin.
buttonclick

Kod: Tümünü seç

hide;
form1işlemleri.
show yerine showmodal;
show;
eğer showmodal kullanmazsan form1 in onclose olayında

Kod: Tümünü seç

 form4.show
demen gerekir. eğer form4 modal olarak gösterilmişse sıkıntı olabilir. form1 de form4 ü açman gerekebilir.
birde form1 ve formün position ları ile oynayarak istediğin şekilde gösterebilirsin.
tasarım anında ayarlarsın. positionlarını designed yaparasın. eğer form1 arama formu ise alignmentini right veya left olarakta yapabilirsin. vs.vsvs.
kolay gelsn.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla