Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi 10.1 Berlin onCanResize Olayı hk.
#1
Merhabalar,

Delphi 10.1 Berlin i kurup projelerimi yükseltme yaptım.. 10.1 de çok saçma bir şey ile karşılaştım.. 

  1. Yeni bir proje oluşturun.
  2. Formun BorderStyle özelliği olduğu gibi kalsın.
  3. Formun onCanResize olayına  Resize := False; yazıp derleyin.. 
 Formu küçücük bir hale getiriyor..

Bu problem ile karşılaşan var mıdır ?



Teşekkürler..

Bulduğum çözüm..


var
  Form2: TForm2;
 FResize : Boolean;
implementation

{$R *.dfm}

procedure TForm2.FormCanResize(Sender: TObject; var NewWidth,
 NewHeight: Integer; var Resize: Boolean);
begin
 Resize := FResize;
end;

procedure TForm2.FormShow(Sender: TObject);
begin
FResize := False;
end;

initialization
FResize := True;

end.
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#2
Merhaba,

Yazdığınız durumu ben de test ettim sonuç sizin dediğiniz gibi oldu.

Sebebini bulmak için öncelikle "küçücük" olan formun boyutlarını öğrendim.
Daha sonra Vcl.Forms.pas dosyasında "TCustomForm.InitializeNewForm" fonksiyonunu incelediğimde,

  Width := 320;
 Height := 240;

yazdığını gördüm.

Siz "FormCanResize" fonksiyonunda sabit olarak "False" dönerseniz, Formun "Create" fonksiyonu, Form2 ye ait dfm dosyasındaki değeri forma uygulamaya çalıştığında yeniden boyutlandırmaya izin alamayacak; "TCustomForm" objesindeki değeri değiştiremeyecektir.

Konu hakkında benim düşüncelerim ve araştırmalarım bu şekilde. Sizin yaptığınız çözüm de doğru, Delphi 10.1'in yaptığı da doğru. Yani bence herhangi bir problem yok. Bu arada aynı durum daha önceki Delphi sürümlerinde de olabilir.

Forumdaki ilk yorumum, hatam var ise kusura bakmayın.

İyi kodlamalar,


Ek Dosyalar Resimler
       
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
Herhangi bir insan bilgisayarın anlayabileceği kod yazabilir. İyi programcılar ise insanların anlayabileceği kod yazarlar.
Cevapla
#3
Cevabınız için teşekkürler..
Delphinin daha önce ki hiç bir sürümünde bu problemi yaşamadım.. Zaten Delphi XE8 ile başladığım projeyi Delphi 10 Seattle a daha sonra da 10.1 Berlin e güncelledim.. Login formu ve bazı küçük formlarımda bunun yaşandığını gördüm..

Her forma kod ile müdahele etmemek için şimdilik bsDialog olarak değiştirdim..
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#4
Fazla araştırmadan yorum yazdım sanırım. Az önce aynı senaryoyu XE2 ile denedim.

Aynı kodun XE2'deki sonucu ile 10.1'de sonucu farklı.

XE2'de formu oluştururken FormCanResize fonksiyonu çağrılmaz iken, 10.1'de çağrılmaya başlanmış. Ben testi 10.1 üzerinde yaparak diğer sürümlere bakmadan yazmıştım. Yanıltıcı oldu ise özür dilerim.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
Herhangi bir insan bilgisayarın anlayabileceği kod yazabilir. İyi programcılar ise insanların anlayabileceği kod yazarlar.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile Json Parse İşlemi yhackup 12 727 Bugün, Saat: 07:59
Son Yorum: 10.Köy
Question delphi 10.1'den 10.2' ye geçiş BY-HAYALET 10 178 18-02-2018, Saat: 12:33
Son Yorum: BY-HAYALET
  Delphi ile NVİ KPS (Kimlik Paylaşım Sistemi) web servislerine bağlanma. csunguray 9 314 07-02-2018, Saat: 13:30
Son Yorum: ismailkocacan
  Delphi Eval Hakkında narkotik 8 184 26-01-2018, Saat: 01:46
Son Yorum: narkotik
  Delphi Fonksiyonlar narkotik 6 213 15-01-2018, Saat: 23:32
Son Yorum: narkotik



Konuyu Okuyanlar: 1 Ziyaretçi