Dinamik Olarak Component Üretmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
lng
Üye
Mesajlar: 7
Kayıt: 22 Eki 2005 07:47

Dinamik Olarak Component Üretmek

Mesaj gönderen lng »

Merhaba,

Dinamik olarak düğmeye basıldığında bir memo oluşturan bir kodum var. Ancak bu kod ile ürettiğim her memonun özelliklerini, programda zaten var olan
memodan almasını istiyorum. Yani aslında programda var olan memonun birer kopyasını dinamik olarak oluşturmak istiyorum. Yeni memoyu oluşturduktan
sonra varolan memodaki tüm özellikleri tek tek eşleştirerek atmaktan başka kolay bir yol var mı?

Teşekkürler..
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Dinamik Olarak Component Üretmek

Mesaj gönderen sadettinpolat »

http://tr.delphipeak.com/2006/05/22/pro ... attern.htm

prototype tasarim kalibi isinizi gorecektir....
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
lng
Üye
Mesajlar: 7
Kayıt: 22 Eki 2005 07:47

Re: Dinamik Olarak Component Üretmek

Mesaj gönderen lng »

Merhaba,

Cevap için teşekkürler, sayfadaki örneğinizi inceledim. Kendi uygulamamda uygulamak istedim, ancak TComponent'tan derlendiği düşünmeme rağmen,
kullandığım AdvMemo (TAdvMemo - TMS Software) bileşeninde aşağıdaki hatayı verdi:

Kod: Tümünü seç

[Error] Unit1.pas(120): Incompatible types: 'TAdvMemo' and 'TComponent'
Halbuki bileşenin yardım dosyasında aşağıdaki gibi bir ibare var:

Kod: Tümünü seç

Hierarchy

System.TObject
	|
Classes.TPersistent
	|
Classes.TComponent
	|
Controls.TControl
	|
Controls.TWinControl
	|
TCustomControl
	|
TAdvCustomMemo
Acaba sizce çözmenin bir yolu var mıdır?
Kullanıcı avatarı
lom
Üye
Mesajlar: 135
Kayıt: 25 Nis 2006 02:37

Re: Dinamik Olarak Component Üretmek

Mesaj gönderen lom »

hocam ini dosyası ile yapılamazmı bu dediğiniz acaba ?
lng
Üye
Mesajlar: 7
Kayıt: 22 Eki 2005 07:47

Re: Dinamik Olarak Component Üretmek

Mesaj gönderen lng »

Uzun yolu deneyip, referans aldığım bileşendeki tüm özellikleri tek tek eşleştirmek istemiyordum ama sanırım en sağlıklı çözüm bu şekilde oldu. Bazı özelliklerin birebir kopyalanmasını istemediğimden, bu daha iyi bir çözüm oldu. En azından daha iyi bir çözüm bulana dek. :)

Yardımlarınız için teşekkürler.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Dinamik Olarak Component Üretmek

Mesaj gönderen sadettinpolat »

lng yazdı: Acaba sizce çözmenin bir yolu var mıdır?
fonksiyona belirttiginiz bileseni (TAdvMemo) parametre olarak gecmek bir sorun olusturmaz. cok bicimlilik geregi selefin oldugu bir yere tip cevrimine gerek kalmadan halef bir sinifi atayabilirsiniz. sizin sorununuz halefe selef bir sinif atamak. yani fonksiyonun geriye donderdigi TComponent(Selef) sinifindan bir nesneyi AdvMemo (Halef) sinifindan bir nesneye esitlemeye calisiyorsunuz. bu cok bicimliligin kurallarina aykiri bir durum. bu sorunu asmak icin tip cevrimi yapmalisiniz. acik bir sekilde delphiye bu fonksiyondan geriye donen nesnenin tipi sudur dediginiz vakit problem kalmayacaktir.

Kod: Tümünü seç

myAdvMemo2 := Clone(myAdvMemo1) as TAdvMemo;
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Dinamik Olarak Component Üretmek

Mesaj gönderen sabanakman »

lom yazdı:hocam ini dosyası ile yapılamazmı bu dediğiniz acaba ?
viewtopic.php?f=19&t=18415&p=138973#p107796
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla