Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Formların bazen create olmaması ve butonların tıklanmaması hakkında
#10
(04-04-2019, Saat: 15:57)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: ...
Ayrıca ben form oluşturma işlemini aşağıdaki gibi yapıyorum:

  try
    frmTest.Show; // Bu form yok ise Access Violation hatası oluşur ve akış except bloğuna geçer; form var ise Show edilmiş olur.
  except
    frmTest := TFrmTest.Create(Application);
    frmTest.Show;
  end;
...

Merhaba,

Benim tahminime göre @Tuğrul HELVACI kendi kodlarında buna dikkat ediyordur, ama bu örgüyü kendi projelerinde uygulamak isteyen arkadaşlara ufak bir uyarım var. Eğer frmTest formununun OnShow/OnActivate eventlerinde yazılı kodlar varsa ve o kodlar hata verecek olursa bu kod maalesef sizi yanlış yerlere yönlendirecek, çünkü kod "henüz frmTest nesnesini yaratmadığım için hata oluştu" kabulüne göre yazılmış (@Tuğrul HELVACI da zaten comment'te yazmış).

Bir de çok basit bir If satırı ile yapılabilecek bir kontrolü try/except gibi işlemci ve işletim sistemi açısından maliyeti çok yüksek bir örgüyle kontrol etmek çok iyi bir fikir değil. Bu kodu şu şekilde yazdığınızda işler daha hızlı olacaktır:

if not Assigned(frmTest) then
 frmTest := TfrmTest.Create(Application);
frmTest.Show;

Ama illa try/except kullanacaksanız da except kısmını bu şekilde bırakmayın. En kötü durumda aşağıdaki gibi yazın:

  try
    frmTest.Show; // Bu form yok ise Access Violation hatası oluşur ve akış except bloğuna geçer; form var ise Show edilmiş olur.
  except
    on E: Exception do
    begin    
        {$IFDEF DEBUG}
         // DEBUG modda derlediğinizde hatayı Delphi IDE'sine gönderkin ki, gelen hata gerçekten de sizin beklediğiniz hata mı emin olun.
         OutputDebugString(PChar(E.Message)); 
        {$ENDIF}
        
        frmTest := TFrmTest.Create(Application);
        frmTest.Show;
     end;
  end;

İyi çalışmalar
Cevapla


Bu Konudaki Yorumlar
Formların bazen create olmaması ve butonların tıklanmaması hakkında - Yazar: Bahadir.Alkac - 05-04-2019, Saat: 07:59

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Child formlarda create yordamının çalışma sırası LastCoder 16 1.007 20-10-2019, Saat: 18:39
Son Yorum: LastCoder
  Kalıtılmış Formu Değişkende Tutarak Dinamik Create Etmek LastCoder 6 577 14-10-2019, Saat: 12:11
Son Yorum: sadettinpolat
  Personel Yıllık İzin Hakediş Hesaplama Hakkında bkantur 2 357 04-10-2019, Saat: 18:15
Son Yorum: uparlayan
  Moduler Programlama Hakkinda TheEAK 4 582 18-09-2019, Saat: 10:43
Son Yorum: TheEAK
  Fonksiyon içinde create edilenler seci20 8 911 22-07-2019, Saat: 15:38
Son Yorum: Tuğrul HELVACI



Konuyu Okuyanlar: 1 Ziyaretçi