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


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 7 Unrar mcuyan 12 484 19-03-2024, Saat: 10:30
Son Yorum: frmman
Lightbulb Delphi 7zip Password lü Dosya Sıkıştırma ve Açma + Bonus RAR5 Desteği frmman 6 262 16-03-2024, Saat: 17:55
Son Yorum: delphi.developer
  delphi 12 ile TFileStream çalışmıyor aegean 5 424 05-03-2024, Saat: 22:23
Son Yorum: aegean
  Delphi ile geliştirdiğiniz uygulamalar neler? - İki Ödüllü Mr.Developer 20 12.683 01-01-2024, Saat: 22:46
Son Yorum: aegean
  Delphi 7 ye göre MB Döviz kurları nasıl alırız maydin60 7 964 31-12-2023, Saat: 02:18
Son Yorum: maydin60



Konuyu Okuyanlar: 1 Ziyaretçi