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 Uygulama Güvenliği hyperxman 12 375 31-03-2018, Saat: 00:29
Son Yorum: mcuyan
  Delphi Sql Tarih Sorunu Pimapen_Nuri 15 544 14-03-2018, Saat: 17:29
Son Yorum: Pimapen_Nuri
  Delphi 10.2.2 Tokyo narkotik 9 374 09-03-2018, Saat: 13:43
Son Yorum: engerex
  Delphi 10.2 Fast Report Install Error narkotik 5 197 01-03-2018, Saat: 15:02
Son Yorum: narkotik
  delphi 10.2 ve ssl canbir 2 180 01-03-2018, Saat: 13:37
Son Yorum: canbir



Konuyu Okuyanlar: 1 Ziyaretçi