aktif form
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
aktif form
Birden fazla form kullandığımızda aktif form olarak program çalıştığında form1 açılıyor. form2 nin ilk başta açılmasını nasıl sağlayabilirim.
form1 açıldığında form2.show from1.close komutlarını kullanarak istemiyorum direk aktif formu form2 ayarlayabilirmiyim.
form1 açıldığında form2.show from1.close komutlarını kullanarak istemiyorum direk aktif formu form2 ayarlayabilirmiyim.
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Bir başka problem
2 tane form var
Form1
Form2
Form1 main form olarak açılıyor. Ben Form1 in create ineyazınca
hatası veriyor. Ama formun click ine yazınca varmiyor...
2 tane form var
Form1
Form2
Form1 main form olarak açılıyor. Ben Form1 in create ine
Kod: Tümünü seç
Form2.Show;
Form1.Hide;
Kod: Tümünü seç
Project Project1.exe raised exception class EAccessViolation with message AccessViolation at address 00455336 in module 'PROJECT1.EXE'
çalışmadı...
Bu komutları Form1.onShow yazdım ordada çalışmıyor.
hatası veriyor.
Form1.active de yazdım aynı....
Ancak herhangi bir butonun özelliğine veya form1 in click özelliklerine yazarsam çalışıyor... Ben Form1 çalıştığında onu görmeden form2 ye geçmesini istiyorum...
Kod: Tümünü seç
cannot change visible in OnShow or OnHide
Form1.active de yazdım aynı....
Ancak herhangi bir butonun özelliğine veya form1 in click özelliklerine yazarsam çalışıyor... Ben Form1 çalıştığında onu görmeden form2 ye geçmesini istiyorum...
Anladığım kadarıyla burda garip bir durum var ama şunu sorcam yazdığın komutları tam olrak yazarsan bir fikir yürütürüz..
Evet şimdi bu işi çözmüş bulunuyoruz..şimdi denedim ve oldu...
1.adım Project-options tan forms sekmesine gel...
2.forms sekmesinde auto-createforms kısmında form1,form2 var değilmi
şimdi orda ki sıralama şöle olsun form2 üstte form1 altta bunu sürükleyerek yaparsın..buralaraı kapat delphiye gel..
kodlar...
kolay gelsin
Evet şimdi bu işi çözmüş bulunuyoruz..şimdi denedim ve oldu...
1.adım Project-options tan forms sekmesine gel...
2.forms sekmesinde auto-createforms kısmında form1,form2 var değilmi
şimdi orda ki sıralama şöle olsun form2 üstte form1 altta bunu sürükleyerek yaparsın..buralaraı kapat delphiye gel..
kodlar...
Kod: Tümünü seç
procedure TForm1.FormShow(Sender: TObject);
begin
form2.Show;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
form2:=Tform2.Create(nil);
end;
procedure TForm1.FormHide(Sender: TObject);
begin
form1.Hide;
end;
end.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
olmuyor...
VedatKaba kardeş bu kodlar işimi görmüyo
Main formun form1 olarak kalmasını istiyorum çünkü programın işleyişi orda ve kullanıcı X ya bastığında programın kapanmasını istiyorum.
Programın çalıştığı form (form1) ve ben bu programa bir tane form daha ekleyip(form2) şifre giriş ekranı yaptım...
İstediğim :
Program çalıştığında main form form1 olduğundan doğal olarak form1 çalışıyor ben burda form1 i gizleyip form2 yi gösterip k.adı ve şifre yi doğrulattıktan sonra form1 i gösterip form2 yi gizletmek....
Ana program kodlarını ve nesneleri form2ye taşıyıp form1 de giriş ekranı yapsam problem olmayacak ama Form2.show ve Form1.hide komutları neden böyle acayip hatalar veriyo...
Main form -->
Form1 --> Asıl kodların olduğu form...
Form2 --> Şifre ekranı hazırladığım form
Main formun form1 olarak kalmasını istiyorum çünkü programın işleyişi orda ve kullanıcı X ya bastığında programın kapanmasını istiyorum.
Programın çalıştığı form (form1) ve ben bu programa bir tane form daha ekleyip(form2) şifre giriş ekranı yaptım...
İstediğim :
Program çalıştığında main form form1 olduğundan doğal olarak form1 çalışıyor ben burda form1 i gizleyip form2 yi gösterip k.adı ve şifre yi doğrulattıktan sonra form1 i gösterip form2 yi gizletmek....
Ana program kodlarını ve nesneleri form2ye taşıyıp form1 de giriş ekranı yapsam problem olmayacak ama Form2.show ve Form1.hide komutları neden böyle acayip hatalar veriyo...
Main form -->
Form1 --> Asıl kodların olduğu form...
Form2 --> Şifre ekranı hazırladığım form
bence çok yanlış bir mantık bu form2 nin main form olması lazım kapatmak problem olmaz sadece form1in onclose eventineAna program kodlarını ve nesneleri form2ye taşıyıp form1 de giriş ekranı yapsam problem olmayacak ama Form2.show ve Form1.hide komutları neden böyle acayip hatalar veriyo...
Main form -->
Form1 --> Asıl kodların olduğu form...
Form2 --> Şifre ekranı hazırladığım form
Kod: Tümünü seç
form2.close
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Görünüşte çok yanlış gibi gözükebilir sonradan unutulan bişeyi veya eklanmesi gereken bi modül için tutup ben tüm kodları ve nesneleri diğer forma taşımam da pek mantıklı olmasa gerek.
Neden formlara show ve hide özelliği verilmiş o zaman bu ve buna benzer sebeplerden dolayı show ve hide özelliği kullanılır. Yapılan iş 2 form arasında geçişten başka bişey değil...
Neden formlara show ve hide özelliği verilmiş o zaman bu ve buna benzer sebeplerden dolayı show ve hide özelliği kullanılır. Yapılan iş 2 form arasında geçişten başka bişey değil...
Bunu normal uygulama başlarken yapabiliyorum ama form2 yi gizleyemedim..
form1 ana form yaptım form2 avilaible form form1 görünmüyor açılışta tamamda butona basınca form2 gizlenmedi bende bu işi anlmadım..
bu şekilde denemeye çalış..
form1 ana form yaptım form2 avilaible form form1 görünmüyor açılışta tamamda butona basınca form2 gizlenmedi bende bu işi anlmadım..
Kod: Tümünü seç
var
form2:Tform2;
begin
Application.Initialize;
form2:=Tform2.Create(nil);
form2.Show;
Application.CreateForm(TForm1, Form1);
application.ShowMainForm:=false;
Application.Run;
form2.Update;
end.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kod: Tümünü seç
var
form2:Tform2;
begin
Application.Initialize;
form2:=Tform2.Create(nil);
form2.Show;
Application.CreateForm(TForm1, Form1);
application.ShowMainForm:=false;
Application.Run;
end.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Evet arkadaşlar sorunu çözdüm gibi bu şekilde yapılmak istenen oldu..
1.si ana form form1
2.project-viev source menusunden formların create edilerek uygulamanın başladığı yer.
daha sonra form2 görülüyor açılışta ve form1 görünmüyor..
form2 ye bir buton koydum ve butona ise
bu şekilde oldu
1.si ana form form1
2.project-viev source menusunden formların create edilerek uygulamanın başladığı yer.
Kod: Tümünü seç
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
application.ShowMainForm:=falSE;
form2.Show;
Application.Run;
end.
form2 ye bir buton koydum ve butona ise
Kod: Tümünü seç
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Show;
form2.Free;
end;
end.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
hmm. aslında tasarım anında mainform'umuzun varsayılan visibilitesi false imiş. Elle true yapmamalıyız. aksi takdirde Application.ShowMainForm:=false;
ile formu hiç görünmeden gizlemek mümkün olmuyor. 0.5sn gibi de olsa görünüyordu.
şimdi benim bazı programlarımı kullanan arkadaşlar bu yazıyı okumuştur.
meraketmeyin yeni bir update gönderi,rriz.
ile formu hiç görünmeden gizlemek mümkün olmuyor. 0.5sn gibi de olsa görünüyordu.
şimdi benim bazı programlarımı kullanan arkadaşlar bu yazıyı okumuştur.

Zaten otomatik oluşturulan olsun olmasın tüm formların varsayılan Visible özelliği false dır. Forms unitinden alıntı;
Yani Form1.Show veya Form1.Close - Form1.Hide ile Visible özelliğini değiştirmiş oluruz.Kod: Tümünü seç
procedure TCustomForm.Hide; begin Visible := False; end; procedure TCustomForm.Show; begin Visible := True; BringToFront; end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!