Türetilmiş Formda Design Timede Boyut Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Türetilmiş Formda Design Timede Boyut Sorunu

Mesaj gönderen NewMember »

Arkadaşlar benim sorunum şu.Base formum var tasarladım ettim.Ancak bundan türettiğm formların boyutlarını kontrol edemiyorum.Mesela formun yeni boyutunu ayarlıyorum bve kaydediyorum.Projeyi kapatıp açtığımda ise formun boyutu gene alakasız bir hale geliyor.Formun creatine kod ile boyutunu ayarlayabilirim ancak disayn timede sorun çıkartıyor rahat çalışamıyorum.Ayrıca zaten türetilmiş formun amacı ise bu tür kodları tekrar tekrar yazmamak o zamanda bu amaçtan sapıyorsunuz.Gerçi onada gene razıyıım ama dediğim gibi tasarım anında form benim seçtiğim boyutlarım kabul etmiyor

Formun height özelliği 517 den fazla olmuyor.Ben 560 yapıyorum kapatıp açınca sonuç gene 517.Anlamadım giti.Acaba bunun için ne yapabiliriz.Teşekkürler.Kolay gelsin.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Herhalde bu 517 de ata olan formunuzun yüksekliği olsa gerek...
Kullandigim formlarin tamami turetilmis formlar ve bu tarz bir problemi bir ara yasamistim galiba... Emin olamiyorum.... Nedeni konusunda aklıma gelen tek ihtimal form ozelliklerinden birinin bu duruma neden olabilecegi ya da bu durumdan kurtarabilecegi... En azindan bendeki sıradan bir turetilmis formun ozelliklerini gostereyim, siz farkli olanlari deniyerek durumu bir test edin...

Resim
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Fahrettin Abi öncelikle ilgilendiğiniz için teşekkür ederim.
Dediğiniz gibi bu formun bir özelliğinden kaynaklanıyor olabilir.Ancak resimde gösterdiğinzi özelliklerle aynıydı formumun özellikleri.Bir ikisi vardı değiştirdim ama gene aynı.
Ben şöyle daha ayrıntılı açıklayayım size.Bir temel formum var.Adı frmBase, sonra bundan FrmDatabase formunu türetiyorum.Şimdi bu ikinci sınıfta ikinci türemiş formda bir sorun yok.Yani boyutlarını ayarlayamama vb.falan.Ancak FrmDatabaseden türettiğim formda bu sorunu yaşıyorum.İşin enteresan tarafı ne FrmBase nede FrmDatabase'in Height özelliği 517 değil.Yani bu 517 yide anlayamadım.Formumun boyutunu falan ayarlıyorum düzeltip derliyorum sorun yok.Ama projeyi kapat aç form küçüldüğü için nesneleri göremiyorum.Tekrar ayarla falan.Mesela FrmDataBase üzerinde bir DBGridim var.Bu gridi küçücük yapıyorum.Türemiş formumda ise bu DBGridi normal büyük boyutlara çekiyorum.Hiç sorun yok.Proje açılıp kapanınca DBGrid gene büyük olarak açılıyor yani gridde sorun yok diğer nesnelerde de.Sadece formda.

İlginiz için tekrar teşekkürler.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Kod: Tümünü seç

inherited FrmHastaKaydet: TFrmHastaKaydet
  Caption = 'FrmHastaKaydet'
  ClientHeight = 485
  PixelsPerInch = 96
  TextHeight = 13
  inherited Panel1: TPanel
    inherited JvDBGrid1: TJvDBGrid
      Top = 200
      Width = 769
     end
  end
end
Bu formumun dfm dosyasında yazanlar.Görüldüğü gibi Height özelliği yazmıyor.Ben manuel olarak yazıyorum.Ama dikkate almıyor.Gene 517 yükseklikte açılıyor.Ayrıca properties penceresinde de 517 yazıyor.
Ne iştir anlamadım?
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Garip doğrusu pek anlam veremedim....
Bir şekilde verdiğiniz yüksekliği dfm e kaydetmiyorsa ondan sonra bu olanlar normal tabi... Ama acaba neden kaydetmiyor? Ve de başka neler ikaydetmiyor? frmBase ve FrmDatabase in ozelliklerini de karşılaştırın derim acaba FrmDatabase deki bir özellikten olabilir mi?
Bir de kontrollu deney yapmak icin tamamen sıfır yeni bir projede basit olarak bu iki ata formu ve bunlardan türetilmis yeni bir formu tekrar yapmayi deneyebilirsiniz... Belki proje ayarlarından veya oluaşan bir problemden kaynaklanan bir durumdur...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Abi dediklerinizi uygulayacağım ancak garip bir durum.Şimdi formun height ve width özelliğini dfm ye yazmıyor.Ata sınıftan alıyor desem hem default bırakmıyorum hemde bu değerlerin ata sınıflada alakası yok.Nem dfm ye width ve height yazıyorum.Kaydediyorum.Bellekteki ile diskteki farklı değiştireyimmi diye soruyor delphi.(Ben not defteri ile yazıp kaydettikten sıonra dfmyi.)Evet ve Hayır cevaplarında da fark yok.Ben projeyi kaydettğim an da dfm deki width ve height özelliklerini siliyor.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Constraints de MaxHeight ata sınıfda 517 olabilir
ÜŞENME,ERTELEME,VAZGEÇME
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Repository'ye atıyorsun sanırım.
"Copy" the item.
"Inherit" from the item.
"Use" the item directly.
şeklinde Repository kullanımları mevcuttur. Bu üç seçenekten birinin işini göreceği kanaatindeyim.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

dfm'de formun Height özelliğini yazması gerekmiyor. ClientHeight'i yazıyor ya zaten. Tüm formların ClientHeight değerlerini de bir kontrol etsenize.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Arkadaşlar hepinize çok teşekkür ederim.Şu an derleyici yanımda değil.akşama hepsini deneyeceğim.Sonucu yazarım.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Gökmen Hocam demişki:
gkimirti yazdı:Constraints de MaxHeight ata sınıfda 517 olabilir
Gökmen Bey:MaxHeight değeri sıfır.
Hakan Hocam demişki:
dfm'de formun Height özelliğini yazması gerekmiyor. ClientHeight'i yazıyor ya zaten. Tüm formların ClientHeight değerlerini de bir kontrol etsenize.
Kontrol ettim ancak client height değerleri ile de alakası yok.Yani hiçbirinde bu 517 değeri yok.

Coderlord Hocam demişki:
Repository'ye atıyorsun sanırım.
Alıntı:
"Copy" the item.
"Inherit" from the item.
"Use" the item directly.


şeklinde Repository kullanımları mevcuttur. Bu üç seçenekten birinin işini göreceği kanaatindeyim
Hocam ne demek istediğiniz anlayamadım.Eğer formu türetirken diyorsanız zaten inherit seçeneği aktif oluyor yani diğerlerini kullanma şansım yok.

Sanırım tüm projeye yeniden başlasam sorun çözülebilir ama bunu burada çzömeliyim.Çünkü tam projenin ortasında en tefferruatlı bölümünde aynısı çıkarsa ne yaparım.

tekrar ilgilendiğiniz için teşekkür ederim.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7604
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

inherit alıyorsan sorun olmadan boyut değiştirebilmen lazım hocam. Ben formlarımı bu şekilde kullanıyorum ve hiçbir sıkıntı olmadan boyut değiştirebiliyorum. Bugüne kadar başıma gelen sıkınıtlardan edindiğim kadarıyla :

- kodda bir ayarlama var mı bir bakın. Mesela inherit formlardan birinden width := xx gibi bir atama var mı?

- MDI form kullanıyorsanız, Position poDesigned ise kafasına göre boyutlandırma yapıyor. Position'u poDefaultPosOnly yapın.

Kolay gelsin.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Hocam şöyle izah edeyim.
Önce TFormdan bir FrmBase adında bir formum var.MDI Child (ayrıca normaldede denedim.) Position'u poDefaultPosOnly

Bundan Türettiğim FrmDatabase var.Bunun boyutlarında sorun çıkmıyor.

FrmDatabaseden türettiğim asıl kullanacağım form FrmHastaKaydet te sorun çıkıyor.

Ata sınıflarda kod ile boyutu ayarlamadım.Yani böyle bir kod yok.FrmHastaKaydetin boyutunuda ayrıca runtimede kod yazsam yada düzeltip derlesem sorun yok ta sadece projeyi kapa aç kafasına göre açılıyo.Sadece de height özelliğinde sorun var.Gidip 517 de açılıyor.Mesela ben 517 den küçük bir sayı versem sorun olmuyor.Yani daha küçük yükseklikte kaydetsem kapatıp açsam tamam sorun yok.Ne varsa 517 den fazla almıyor.Yuksarda yazılan diğer öneriler de baktım.Mesela ata sınıflardan birinde sınırlama falan yok.ne dfm dosyalarımda nede pas dosyalarımda 517 sayısı bile yok.Propertieslerde yok.Buna nereden takılıyor onu anlayamadım.Remove edip yeniden türettim FrmHasta Kaydeti ama gene aynı.Ama dediğim gibi hepsini yeniden yapsam çözülebilir ama bu sorun gene çıkabilir.

Ayrıca formların tüm özelliklerini denedim.Mesela bssingle,bssizeable v.s.
herkeste sorun çıkmadığına göre bir yerde hata yapıyoruz ama nerede? :D :D :D
Kullanıcı avatarı
Master_Yoda
Üye
Mesajlar: 35
Kayıt: 13 Ara 2005 12:57

Mesaj gönderen Master_Yoda »

mdi child formlarda container bu konuda bazı müdahalelerde bulunuyor ancak design degil run time da karşılaştım .
bunun dışında dfm de manuel değişiklik ( heigth= 600 gibi) denediniz mi ?
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Evet denedim.Zaten sorunun runtimede değil design timede.Mesela dediğiniz gibi ben dfm ye manuel 600 yazıyorum.(Notepad ile) sonra delphi idesi içinde save edince bu benim eklediğim bölümü siliyor.Yani heigt=600 ü siliyor.İlk base formum mdichild idi.Onuda normal yazptım Bordericons parametreleri ile oynadım vs.denemeler yaptım çok enteresan.Zaten runtimede olsa gene anlayabilicemde tasarım anında olması enteresan.
Cevapla