Crate Form ile AutoCreate Form arasıdaki fark

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Crate Form ile AutoCreate Form arasıdaki fark

Mesaj gönderen musti »

s.a.
Butona atanmıs New Create form yapıp sonra show modal etme ile Derleme sırasında Auto create arasında acıkcası kayde deger bir fark gormedim.

10 a yakın formum var bunları bir ana form icende her bir tus basıp showmodal yaptım.
birde Create ettkten sonra show modal yaptım.

Exenin boyu degismedi. Hızdır fark edilir bir degisiklik olmadı.
Memorydeki optimizeside acıksası beni sasırtmadı.
Bu konuda aydınlatıcı bilgi verebilirmisiniz.
highmemo

Mesaj gönderen highmemo »

Selam,

Belki 10 formda ve formda kullandığın nesnelerden dolayı farketmemiş olabilirsin, veya makinan hızlı :D

Önemli bir konu sayılır Tek ve büyük bir exe veya uygulaman varsa!,

Şöyle düşün 30 adet formun var DB ağırlıklı çalışıyorsun. Formlarda Gridlerin, Datasetlerin ve Grafik lerin vb. olduklarını düşün Eğer Auto Create de kalırsa bunlar; Exe açılışta çok yavaşlar, Ayrıca 30 adet form ve içindeki nesneleri hafızaya almış olarak sistem belleğinden çok yersin hatta bazen yetersiz hafıza hatası alırsın. Hele birde formlardaki datasetlerin Active vaziyetteyse ......

Kesinlikle Arada bir kullanılan formları, sonradan Create etmen çok fayda sağlayacaktır.

Zaten müşteri 30 forma aynı anda girmez boş yere açık kalacaklar.

Eğer dediğin mantıkta tüm uygulamalar yazılsaydı, windows su her 5 dk da resetlemek gerekirdi.

Yani her zaman:
Create -> Use -> Destroy
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

hocam tks ederim net bir sekilde anladım.

Auto create etmemek lazım. formla ilgili buton tıklandıgı zaman create edecem sonra form delete diyecem.

Form üzerinde DBGridlerin olması sorun degil degilmi bir de create ettigimiz form uzerinde create dbgrid ve ya create button demek abartı olur sanırım.
Yani hersey olacak ama auto creare pencerisinde cıkartacaz butun formlar, button tıklanınca create olacak baska bir ssey yok.(yani herhangi bir yere herhangi birsey yazılmaz yada silinmez demi)

create edilen formun close olayına Action = caFree; demekmi mantıklı
yoksa form kapanınca delete form demekki yoksa ikisidemi ayni



Createle berabe ortak veya aynı olan bilesenlerinde tek bir form uzerinde yapılması lazim diye dusunuyorum .
butun formlarda ortak bir tool bar kullanıyorsanız eger. biri degisnce digerlerininde tek tek degismesi icin oto kontrol bir sistem nasıl olur kodla biraz uzun oluyor.
En son musti tarafından 05 Eyl 2005 11:54 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba ,
yanlış anlamadıysam , yapmak istediğiniz formlarda ki ortak nesne kullanımı Frame kullanarak yapabilirsiniz, konu ile ilgili makale ve ayrıntılı bilgiye,
:ara frame şeklinde ulaşabilirsini. iyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

hocam tsk ederim verdigin bilgi icin ama framede sadece kendi üzürindeki aktif formu kabul ediyor. Yani her button icin onclik olayına kod yazmak gereiyor.

Form create olayını C++ builder da inceleyince iki farkılı yontem bulduım.
sizce aralarında fark nedir.
yani dinamik crate olunca ne fark ediyor.




void __fastcall TForm1::OnCreateDynamic(TObject *Sender)
{
Application->CreateForm(__classid(TForm2), &Form2);
Form2->ShowModal();
delete Form2;
}



void __fastcall TForm1::OnCreateNew(TObject *Sender)
{
TForm2* myForm = new TForm2(this);
myForm->ShowModal();
delete myForm;
}


demekki tek yontem yok acaba arasında ki fark nedir sizce.
Cevapla