Delphi – Kako kreirati komponentu?

Ako već imate neko iskustvo u radu sa Delphi-jem, sigurno znate da na Internetu postoji pravo tržište komponenti, tj. gotovih rešenja koja vam mogu smanjiti potrebno vreme za neki projekt. Jer, zašto utrošiti sate, ili dane na programiranju nečeg što već postoji. Kreiranje ovih komponenti nije komplikovano, pa ćemo vam na jednom primeru prikazati kako da to sami izvedete. Nakon toga ćete sami moći da razvijate za sopstvene potrebe razne komponente (ili čak da ih kreirate za tržište).
<P ALIGN="Justify" Komponenta je inače, klasa objektnog Pascal-a koja poseduje određene mogućnosti i ograničenja. Novu komponentu možete izgraditi korišćenjem postojeće komponente (putem nasleđivanja) ili potpuno iznova. Mi ćemo u našem primeru za kreiranje nove komponente koristiti postojeću, i to klasu „TButton“, a toj novoj komponenti ćemo dodati neke nove osobine i procedure. Pre prelaska na samo kreiranje, da kažemo nešto i o paketima (Packages). Paketi poseduju u sebi prevedene module koji obezbeđuju sve potrebne procedure za datu komponentu. Pre nego što kreiramo samu komponentu, potrebno je da kreiramo paket u koji ćemo ubaciti komponentu. Ovim ćemo obezbediti proceduru za instalaciju nove komponente na Delphi-jevu paletu alatki – komponenata. A sad, da pređemo na kreiranje komponente:

  1. Kreirajte na disku folder, u koji ćemo kasnije smestiti module komponente i program za testiranje. Nazovite ga recimo „C:ZvucnoDugme“. Pokrenite Delphi i otvorite novi projekt, a zatim ga preko menija „File> Save All“ snimite u kreirani folder.
  2. Izaberite meni „File> New“ i na kartici „New“ dvostruko kliknite na ikonu „Package“. Otvoriće vam se novi prozorčić „Package“, pa kliknite desnim tasterom unutar njega i izaberite „Save“, snimite novi paket u novoformirani folder i dajte mu naziv „DugmeZvuk“. Kada se vratite u prozorčić „Package“, kliknite desnim tasterom na instancu „Contains“ i izaberite „Add“.
  3. Pređite na karticu „New Component“ i ubacite sledeća podešavanja:
    • Ancestor Type – TButton
    • Class name – TDugmeZvuk
    • Pallete Page – Primer
    • Unit file name – Automatski će se ubaciti „C:ZvucnoDugmeDugmeZvuk.pas“
    Kliknite na „OK“ za kreiranje osnovice, i vraćanje u prozor za pakete.
  4. Kliknite na dugme „Compile“ za prevod paketa i modula. Ostaje nam još da novoj komponenti koja nasleđuje klasu TButton dodamo neke nove osobine. Osobina koju ćemo dodati je zvuk (uz pomoć procedure „MessageBeep“), koji će se čuti kada se klikne na dugme. Pređite u deo za pisanje koda i pređite na karticu „DugmeZvuk“, te u sekciju „Public“ dodajte sledeći kod:


    procedure Click; override;

    I dodajte još kod:


    procedure Register;
    begin
    RegisterComponents(‘Primer’, [TDugmeZvuk]);
    end;
    procedure TDugmeZvuk.Click;
    begin
    MessageBeep(0);
    inherited Click;
    end;
    end

Ostaje nam da još jednom, sa unetim kodom, prevedemo paket (kliknite ponovo „Compile“) i komponenta je gotova. Na prethodno opisan način dobili smo novu komponentu koju ćemo instalirati na paletu komponenti:
  • U istom prozoru „Package“, kliknite na dugme „Install“ i nakon završene procedure kompajliranja kliknite na „OK“.
Nova komponenta – dugme instaliraće se na paletu i to na karticu „Primer“.

Pratite Krstaricu na www.krstarica.com