Orjinal dosyayi yeniden derlemek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Orjinal dosyayi yeniden derlemek
Delphi ile gelen vcl dosyalarinda degisiklikler yapip bunu standart hale getirmek icin tekrar derlemem gerekiyor.
Örnegin TForm nesnesi icin yeni property'ler eklemeliyim.
Bu konuda fikri olan var mi?
Örnegin TForm nesnesi icin yeni property'ler eklemeliyim.
Bu konuda fikri olan var mi?
kıdemsiz üye
Re: Orjinal dosyayi yeniden derlemek
Orjinal dosyalarda değişikliği çok tavsiye etmem.
Delphi'de bu tarz durumlar için inheritance denen bir olay var. OOP programlama dillerinin hepsinde var. Kendiniz bir base yapıp, buradaki formlara gerekli değişiklikleri, kodları yazarsınız. Diğer formlarınızı bunlardan inherit edersiniz.
Kolay gelsin.
Delphi'de bu tarz durumlar için inheritance denen bir olay var. OOP programlama dillerinin hepsinde var. Kendiniz bir base yapıp, buradaki formlara gerekli değişiklikleri, kodları yazarsınız. Diğer formlarınızı bunlardan inherit edersiniz.
Kolay gelsin.
Re: Orjinal dosyayi yeniden derlemek
cevap icin tesekkür ederim.
bugüne kadar bu yöntemi kullaniyordum fakat orjinal dosyalarda oynama yapma konusunda israrciyim.
dcc32 ile forms.pas dosyasini yeniden derleyip lib klasörüne atmis olmama ramen, degisiklikleri ide üzerinde göremiyorum.
nerede hata yapiyorum? yada neyi eksik yapiyorum?
bugüne kadar bu yöntemi kullaniyordum fakat orjinal dosyalarda oynama yapma konusunda israrciyim.
dcc32 ile forms.pas dosyasini yeniden derleyip lib klasörüne atmis olmama ramen, degisiklikleri ide üzerinde göremiyorum.
nerede hata yapiyorum? yada neyi eksik yapiyorum?
kıdemsiz üye
Re: Orjinal dosyayi yeniden derlemek
Ben de tavsiye etmiyorum.
Ama ısrar ediyorsanız; en azından değişiklik yapacağınız dosyaları proje klasörünüz içine kopyalayıp orada değişiklik yapın.
Derleyici ilk olarak proje klasörüne bakacağı için bu dosyaları kullanacaktır ve böylece değişiklikler sadece o proje için geçerli olacaktır.
Ama ısrar ediyorsanız; en azından değişiklik yapacağınız dosyaları proje klasörünüz içine kopyalayıp orada değişiklik yapın.
Derleyici ilk olarak proje klasörüne bakacağı için bu dosyaları kullanacaktır ve böylece değişiklikler sadece o proje için geçerli olacaktır.
There's no place like 127.0.0.1
Re: Orjinal dosyayi yeniden derlemek
hocam görsel degisiklikler yapmaya calisiyorum. örnegin TForm'a property ekliyorum ve bunu ide'de görmem gerekiyor. propertyeditör'ler ekleyecegim.
kıdemsiz üye
Re: Orjinal dosyayi yeniden derlemek
Delphi ye ait paslar da değişiklik sıkıntı, sadece pası derlemen yetmez, ilgili BPL lide değiştirmen gerek. componentlar dcu yani unit değil bpl olarak yüklenir. Yapman gereken, MyForm = TForm şeklinde yeni class türetmen. orjinal componentları değiştirmen, bunları kullanan diğer component leride değiştirmen, yada yeniden derlemen demektir. Bu da oldukça büyük karmaşa.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Orjinal dosyayi yeniden derlemek
senin imzandaki yazi ile yola ciktim... biraz zaman alacak : )
kıdemsiz üye
Re: Orjinal dosyayi yeniden derlemek
haklisin. ilgili bpl'yi yeniden olusturup kurmam gerek. bunun icin dpk yapisina ihtiyacim var.
nasil bir yol izlemem gerekiyor? google tikandi.
nasil bir yol izlemem gerekiyor? google tikandi.
kıdemsiz üye
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Orjinal dosyayi yeniden derlemek
İyi günler. En şık çözüm TForm'dan türeyen kendi sınıflarını geliştirmen olacaktır. Asla delphinin kökeninde değişiklik yapmamak lazım. Zira yeni bileşen kurarken ya da başka (yeni) delphi versiyonuna geçerken aynı kabusu baştan tekrar tekrar yaşamak zorunda kalırsınız. Eğer projeye hiç bir zaman bileşen eklenmeyecek, asla delphi sürümü yükseltmeyecek ve diğer geliştirilecek tüm projelerinizde de aynı durumu sağlayacaksanız bu işlem keyfi olarak yapılabilir ama teknik olarak bu yolun sonu pek de iyi yere çıkmamaktadır. O yüzden arkadaşlar bu konuda ısrar etmekte.
Buna rağmen bahsettiğiniz işlemi yapmak niyetindeyseniz kullandığınız delphi sürümüne göre yeni bpl oluşturmalısınız. Mesela TForm sınıfı yanlış hatırlamıyorsam vcl???.bpl içerisinde olması lazım. Muhtemelen vcl.dpk içeriği ile alakalı biraz araştırma ya da delphi üzerinde inceleme yaparsanız çözebilir ve kendi paketinizi oluşturabilirsiniz. Sarf edilmesi gereken efor pek de az olmayacaktır (ayrıca bu işin getirisi, götürdüğünün yanında yok hükmünde diyebilirim). Eğer vcl250.bpl yi oluşturduğunuz vcl.dpk üzerinden derleyebilirseniz önceki bpl leri temizleyip yerine bunu koymayı da atlamamak gerekiyor. Ayrıca vcl???.bpl'ye bağlı tüm diğer paketleri de bu yeni oluşan pakete göre yeniden derlemek gerekiyor ki işin çığrından çıktığı nokta burasıdır. İyi çalışmalar.
Buna rağmen bahsettiğiniz işlemi yapmak niyetindeyseniz kullandığınız delphi sürümüne göre yeni bpl oluşturmalısınız. Mesela TForm sınıfı yanlış hatırlamıyorsam vcl???.bpl içerisinde olması lazım. Muhtemelen vcl.dpk içeriği ile alakalı biraz araştırma ya da delphi üzerinde inceleme yaparsanız çözebilir ve kendi paketinizi oluşturabilirsiniz. Sarf edilmesi gereken efor pek de az olmayacaktır (ayrıca bu işin getirisi, götürdüğünün yanında yok hükmünde diyebilirim). Eğer vcl250.bpl yi oluşturduğunuz vcl.dpk üzerinden derleyebilirseniz önceki bpl leri temizleyip yerine bunu koymayı da atlamamak gerekiyor. Ayrıca vcl???.bpl'ye bağlı tüm diğer paketleri de bu yeni oluşan pakete göre yeniden derlemek gerekiyor ki işin çığrından çıktığı nokta burasıdır. İyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Orjinal dosyayi yeniden derlemek
cevap icin tesekkür ederim.
vcl dosyasini recompile edebilmem icin tüm bilesen setini property editörleri ile birlikte register edebilecegim unitler yazmam gerekiyor.
bu da delphi'yi sifirdan programlamaktan farksiz.
ben bilmedigim, daha baska bir yöntem olabilir diye düsünmüstüm.
vcl dosyasini recompile edebilmem icin tüm bilesen setini property editörleri ile birlikte register edebilecegim unitler yazmam gerekiyor.
bu da delphi'yi sifirdan programlamaktan farksiz.
ben bilmedigim, daha baska bir yöntem olabilir diye düsünmüstüm.
kıdemsiz üye
Re: Orjinal dosyayi yeniden derlemek
Bizim ısrarımızda bu yüzden di bu istediğini lazarusta yapma şansın olabilir. Ama onda da karışıklık ihtimali çok yüksek. Neden buna ihyiyaç duyuyorsun ?
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Orjinal dosyayi yeniden derlemek
Anlatmaya calisayim.
TForm nesnesine eksik gördügüm yada isimi kolaylastirabilecek Property ve PropertyEditörler yazmayi düsündüm.
Mesela Form'u cift tiklayinca IBExpert gibi bir pencere neden acilmasin?
DataSet, DataSource eklemek yerine, CollectionItems gibi tek tus ile DataSet eklemek, Sql'leri manage etmek, hem isimi kolaylastirir, hem de program üzerindeki hakimiyetimi güclendirir.
Akabinde Atom yapisinda degisiklige gidecegim. Bi ara epey ugrasmistim bu konuyla ve ilerleme kaydetmistim.
TForm nesnesine eksik gördügüm yada isimi kolaylastirabilecek Property ve PropertyEditörler yazmayi düsündüm.
Mesela Form'u cift tiklayinca IBExpert gibi bir pencere neden acilmasin?
DataSet, DataSource eklemek yerine, CollectionItems gibi tek tus ile DataSet eklemek, Sql'leri manage etmek, hem isimi kolaylastirir, hem de program üzerindeki hakimiyetimi güclendirir.
Akabinde Atom yapisinda degisiklige gidecegim. Bi ara epey ugrasmistim bu konuyla ve ilerleme kaydetmistim.
kıdemsiz üye
Re: Orjinal dosyayi yeniden derlemek
Sen tform un üzerinde yapacağım diyorsun bizse tformdan tmyform türet diyoruz. Aramızda anlaşamadığımız kısım burda başlıyor, uygulamana yeni form eklemek istediğinde IDE ye tfom ekle diyorsun, ama aynı menüde tmyform da yani kendi template lerinide ekliyebiliyorsun. bundan sonrasıda zaten aynı. yapabiliyorum demek için doğru sourcelar olduktan sonra uğraş ve vakit kaybederek oldurulur. Ama buna neden gerek olsun? yani kaybedilen vakte değer mi? ilk mesajın 9 temmuz bugün 15 ve hala istediğin olmadı ben bu kısımdayım bu kadar vakit kaybına değer mi?
Şimdi IDE yi açtımda ilk cümlemde bahsettiğimin tam adı Repository. Datamodule yada TForm üzerinde sağ click te altlarda çıkan "Add to repository..." diye bir menü item var. Bu o form yada datamodülü olduğu gibi yani üzerindekiler ve kodlarıyla beraber repository ye ekler. Daha sonra bunu IDE den ekle dersen bunu olduğu gibi projene yeni bir form yada datamodüle gibi ekler.
Ben bunu Formlarımın standart hallerini, yani kapat kaydet grid query vs gibi sabit component ve bileşenleri eklemiştim. ama sonra gözünü seveyim OOP un son projemden bi örnek
Yukarıda 6 tane birbirinden bağımsız form var
Şimdi IDE yi açtımda ilk cümlemde bahsettiğimin tam adı Repository. Datamodule yada TForm üzerinde sağ click te altlarda çıkan "Add to repository..." diye bir menü item var. Bu o form yada datamodülü olduğu gibi yani üzerindekiler ve kodlarıyla beraber repository ye ekler. Daha sonra bunu IDE den ekle dersen bunu olduğu gibi projene yeni bir form yada datamodüle gibi ekler.
Ben bunu Formlarımın standart hallerini, yani kapat kaydet grid query vs gibi sabit component ve bileşenleri eklemiştim. ama sonra gözünü seveyim OOP un son projemden bi örnek
Kod: Tümünü seç
type
TFRM_Grup_Tanim = class(T_FRM_CED) //T_FRM_CED başka bir ata form :D
GRD_: TUniDBGrid;
procedure UniFormCreate(Sender: TObject);
....
public
procedure Set_SQL; override;
procedure Hazirla(mnu_Item: TUniMenuItem = nil); override;
end;
type TFRM_Stok_grp = class(TFRM_Grup_Tanim)end;
type TFRM_Cari_grp = class(TFRM_Grup_Tanim)end;
type TFRM_Pers_grp = class(TFRM_Grup_Tanim)end;
type TFRM_GeGi_tnm = class(TFRM_Grup_Tanim)end;
type TFRM_Depo_tnm = class(TFRM_Grup_Tanim)end;
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!