Standart nesnelerden yeni nesne yapmak.

Başlatan bunalmis, 24 Nisan 2010, 13:01:28

z

Bir panel uzerine bir kac buton, bir kac textbox, birkac tane checkbox vs koyduk diyelim.

Bu paneli oldugu gibi tek bir nesne haline getirmek ve delphiye ilave etmek istiyorum.

Mesela yeni bir form actim, uzerine buton yerlestirir gibi bu hazirladigim ozel paneli kolayca ekleyebilmeliyim.

Bu islem nasil yapilir?

Ileride mesela bir termometre devresi yaptim diyelim. Bunu delphide cok basitce kullanabilmek icin component haline getirmek istiyorum.

Konuyla alakali bir link: http://101.lv/learn/delphi/ch20.htm Fakat ilk kez deneme yapmak isteyenler icin fazla karisik.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

orhanc

#1
http://delphi.about.com/library/bluc/text/uc080701a.htm
http://www.drbob42.com/delphi/componen.htm

http://www.win.tue.nl/~wstomv/edu/delphi/Delphi7ComponentWritersGuide.pdf

Buraları bi okumanı tavsiye ederim. Ancak hazır bileşen varsa onları kullanman daha mantıklı olur.

http://www.lohninger.com/guipack.html
http://www.lohninger.com/gauge.html

ufak bir düzeltme onlara nesne yerine Bileşen diyoruz. Kafa karışıklığı yapmasın
i'm doing nothing... Giddy Up  http://www.drorhan.com

birumher

Frame üzerine yap. Daha sonra Frame i istediğin gibi kullanabilirsin. İstersen bir component gibi palete de ekleyebilirsin...
Birkan.Herguner

z

Birazdaha aciklayabilirmisin.

Bahsettigin yontemi kullanirsam, yeni bir program yazmaya basladigimda yeni komponentimi form uzerine hemencecik koyup
komponent uzerindeki alt komponentleri tikladigimda vs bunlar icin yazdigim  fonskiyon yada procedurlerde de programima kendiliginden gomulecekmi?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

birumher

File->New->Delphi Files->Frame ile yeni bir frame oluşturup sanki bir formmuş gibi bütün işlemleri functionları procedure leri buraya yazıyorsun. Sonra sağ tuşa basıp add to palette diyorsun componentlerin olduğu palete ekleniyor bu frame. Daha sonra bu farme i diğer projelerinde de kullanabilirsin. Formun üzerine koyduğunda her şeyi çalışır durumda olacaktır...
Birkan.Herguner

z

#5
@birumher

Dediklerini yapmaya calistim ancak beceremedim. Mumkunse biraz daha aciklayabilirmisin?

Edit: Sorun Frame adinin unit1 olmasi imis. Yeni proje acinca o da unit1 adinda form olusturmak istediginden sorun olusuyormus. Frame'i save ederken farkli isimde save ettim.

Su anda frame uzerine koydugum komponentler ve kodlardan yeni bir component olusturdum ve bunu gerektikce kullanabiliyorum. Bu gun donum noktasi oldu.

Super bir ozellik.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

serdararikan

yanlış hatırlamıyorsam bu dediğiniz olaya ActiveX deniyor.

muhittin_kaplan

c de bir lib. eklemekten başka birşey değildir bu.

z

Ne dendigini hic bilmiyorum da benim acaip isime yarayacak ve program yazim islerini super hizlandiracak.

Mesela frame uzerine standart componentlerle bir gosterge tus takimi yapiyoruz. Bunun kodlarini yaziyoruz.

Daha sonra farkli farkli programlarda gosterge yada tus takimi lazim oldumu frame'i component gibi forma gomuveriyoruz.

Yalniz bir konuda yardiminiza ihtiyacim var.

Ilk denememi frame uzerine memo ve buton ekleyerek yaptim. Cok basit bir kod yazdim. Kod basit oldugu icin gozu kapali yazdim.

Fakat karmasik kodlar yazarken ne yapacagiz?  Sorun soyleki;

File -> New den Frame  secersek karsimiza gorsel bir frame ve bunun kodlarinin yazilacagi kisim geliyor. Kodlari run etmeye izin vermedigi icin yaz calistir hatani gor seklinde
ilerleyemeyecegim. Bu sorun nasil cozulur?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Alıntı yapılan: muhittin_kaplan - 03 Haziran 2012, 19:53:15
c de bir lib. eklemekten başka birşey değildir bu.

Bu bahsettigin lib dll degil mi? Gorsel dillerde lib denince aklima dll den baska bir  sey gelmiyordu. Yanlis miyim?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

hocam delphi bilmem ama vb.60 da da izin vermezdi activex i kullanmaya. ben iki proje açar activex i derler diğer execute form da denerdim.
ayrıca C# WindowsFormsControlLibrary diye geçer ve doğrudan denemeye izin verir.
Unutmadan Bu ActiveX i hedef bilgisayarda register etmen gerekir. (Setup Dosyasına Ekleyip Kurulum Esneasında)

muhittin_kaplan

Alıntı yapılan: z - 03 Haziran 2012, 20:00:32
Bu bahsettigin lib dll değil mi? Gorsel dillerde lib denince aklima dll den baska bir  sey gelmiyordu. Yanlis miyim?
Hocam Control Dosyalarınında Sonuçta Dayandığı Nokta DLL dosyalarıdır.

z

Alıntı yapılan: muhittin_kaplan - 03 Haziran 2012, 20:01:23
hocam delphi bilmem ama vb.60 da da izin vermezdi activex i kullanmaya. ben iki proje açar activex i derler diğer execute form da denerdim.
ayrıca C# WindowsFormsControlLibrary diye geçer ve doğrudan denemeye izin verir.
Unutmadan Bu ActiveX i hedef bilgisayarda register etmen gerekir. (Setup Dosyasına Ekleyip Kurulum Esneasında)

Nasil yani, diyelimki bir program yazdim, derledim ve bunu bir baska makinada calistirmak istedim. Sorun mu cikacak?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

delphi yi bilemem. Microsoft Tarafında Kurulum Esnasında Register edilmesi gerek. (Önceden Regsvr32 yi kullanırdık.)

muhittin_kaplan

Hatta ben Microsoftun SETUP oluşturma özürlü olduğunu bildiğimden http://www.jrsoftware.org/isinfo.php innosetup ı kullanırdım.
Uzun Zamandır Setup Oluşturmuyorum bu arada.