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,
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.
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..
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.