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
Question OpenSSL .dll sorunu delphi 10.2 BY-HAYALET 5 394 12-09-2018, Saat: 17:08
Son Yorum: uparlayan
  Visual Studio Code for Delphi gjamesbond 1 106 11-09-2018, Saat: 10:19
Son Yorum: Fesih ARSLAN
  Delphi içinden ve MSSQL üzerinden storeprocedure çalıştırma Bay_Y 6 238 30-08-2018, Saat: 13:10
Son Yorum: Bay_Y
  Delphi 10.3.2 Cominity için Sui Pack ve Rave Report konusu Bafehan 9 295 09-08-2018, Saat: 20:48
Son Yorum: Bafehan
  HHBMailComponent - Kolay Mail Gönderim Bileşeni [Delphi] Halil Han Badem 23 1.300 09-08-2018, Saat: 02:20
Son Yorum: Halil Han Badem



Konuyu Okuyanlar: 1 Ziyaretçi