Lazarus Packages/sk: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Lazarus Packages/sk
| Old | New | Line | |
|---|---|---|---|
| 1 | + | # Prehlad balíkového systému Lazarus | |
| 2 | + | ||
| 3 | + | ## Čo je balík v Lazaruse? | |
| 4 | + | ||
| 5 | + | Balíček v Lazarus je zoznam unít a komponentov, ktoré obsahujú informácie o tom ako majú byť skompilované a ako môžu byť použité inými balíkmi, alebo IDE. Oproti Delphi, balíky niesu obmedzené len na knižnice a môžu byť nezávislé od operačného systému. (Delphi: [[packages|Balíček v Delphi]] je špecialne skompilovaná knižnica používaná aplikáciami, prostredím alebo obomi. Balíky Delphi vyžadujú od prekladača špeciálnu funkciu ktorú fpc v tomto momente ešte nemá a ktorá je závislá na operačnom systéme). | |
| 6 | + | ||
| 7 | + | Momentálne podporuje prekladač [[Free Pascal]] len statické balíky. Kvôli tomu musíte skompilovať a reštartovať prostredie pri každej inštalácií alebo odinštalácií balíka. | |
| 8 | + | ||
| 9 | + | Balík lazarusu je identifikovaný menom a verziou. | |
| 10 | + | ||
| 11 | + | ## FAQ | |
| 12 | + | ||
| 13 | + | **Otázka**: Potrebujem inštalovať balíček? | |
| 14 | + | ||
| 15 | + | **Odpoveď**: Balíček potrebujete inštalovať len, ak obsahuje položky pre dobu návrhu (*designtime*), ako komponenty pre Paletu komponentov IDE. Ak tieto položky nepoužívate, balíček inštalovať nepotrebujete. Ak chcete len použiť balíček vo svojom projekte, neinštalujte ho. | |
| 16 | + | ||
| 17 | + | **Otázka**: Nainštaloval som balíček, ale IDE nevie nájsť jednotky | |
| 18 | + | ||
| 19 | + | **Odpoveď**: Inštalácia balíčka znamená, že balíček je integrovaný do IDE, nei do Vášho projektu. To sú dve odlišné veci. Pre použitie balíčka vo svojom projekte, použite **Project -\> Project Inspector -\> Add -\> New Requirement** a odinštalujte balíček, ak neobsahuje žiadne rozšírenie IDE. | |
| 20 | + | ||
| 21 | + | ## Rýchly štart | |
| 22 | + | ||
| 23 | + | Aby ste videli balíkový systém v akcií urobte následovné: | |
| 24 | + | ||
| 25 | + | Vytváranie nového balíku: | |
| 26 | + | ||
| 27 | + | - **File-\>New... -\> Package -\> Standard Package** | |
| 28 | + | - Otvorí sa editor balíkov | |
| 29 | + | - Použite tlačidlo Save hore vlavo. | |
| 30 | + | - V závislosti od Vášho nastavenia 'naming' vo Voľbách prostredia sa vás IDE opýta, či má uložiť súbor s malými písmenami. Stlačte Áno. | |
| 31 | + | ||
| 32 | + | Gratulujem: Práve ste vytvorili svôj prvý balík. | |
| 33 | + | ||
| 34 | + | Pridávanie nového komponentu: | |
| 35 | + | ||
| 36 | + | - Použite tlačidlo **Add -\> New component** | |
| 37 | + | - Vyberte si komponent v zozname predkov typu combobox. Napr.: TBevel. | |
| 38 | + | - Kliknite OK | |
| 39 | + | - Súbor bude pridaný do balíčka a otvorený v editore. | |
| 40 | + | - Nainštalujte balík pomocou tlačidla 'install' na vrchu editora balíkov. | |
| 41 | + | - Lazarus uloží balík a spýta sa či má byť IDE prebudované. Sltačte Áno. | |
| 42 | + | - Balíky sú staticky linkované takže je potrebný reštart IDE. | |
| 43 | + | - Reštartujte Lazarus a pozrite či máte svoj komponent v lište komponentov (Napr.: TBevel1 bude na 'Additional' stránke). | |
| 44 | + | ||
| 45 | + | Gratulujem: Práve ste nainštalovaly svoj prvý balík so svojim prvým komponentom. | |
| 46 | + | ||
| 47 | + | ## Položky menu IDE pre balíčky | |
| 48 | + | ||
| 49 | + | File-\>New... -\> Package -\> Standard Package | |
| 50 | + | ||
| 51 | + | - vytvorí nový balíček | |
| 52 | + | ||
| 53 | + | Project -\> Project Inspector | |
| 54 | + | ||
| 55 | + | - zobrazuje, ktoré balíčky sú vyžadované projektom, ktorý je práve otvorený | |
| 56 | + | - môžete tu pridať/odobrať závislosti | |
| 57 | + | ||
| 58 | + | Run -\> Compiler options -\> Inherited | |
| 59 | + | ||
| 60 | + | - zobrazuje voľby prekladača, a z ktorého balíčka sú zdedené | |
| 61 | + | ||
| 62 | + | Components -\> | |
| 63 | + | ||
| 64 | + | - **Open loaded package**: dialóg zobrazujúci všetky otvorené balíčky a ich stav | |
| 65 | + | - **Open package file (.lpk)**: otvoriť súbor .lpk | |
| 66 | + | - **Open package of current unit**: otvoriť súbor .lpk, ktorý patrí súboru v Editore zdrojového kódu | |
| 67 | + | - **Open recent package**: otvoriť súbor naposledy otvoreného balíčka (súbor .lpk) | |
| 68 | + | - **Add active unit to a package**: pridá jednotku v Editore zdrojového kódu do balíčka | |
| 69 | + | - **Package Graph**: Diagram balíčkov, zobrazuje všetky otvorené balíčky a ich závislosti | |
| 70 | + | - **Configure installed packages**: upraviť zoznam balíčkov nainštalovaných v IDE - nainštalovať/odinštalovať viacero balíčkov naraz | |
| 71 | + | ||
| 72 | + | Project -\> Project Inspector | |
| 73 | + | ||
| 74 | + | - tu možno upravovať všetky balíčky použité projektom | |
| 75 | + | ||
| 76 | + | ## Teória | |
| 77 | + | ||
| 78 | + | Každý balíček Lazarus má súbor .lpk. Balíček je identifikovaný svojim menom a verziou. Meno musí súhlasiť s menom súboru .lpk. Napríklad: | |
| 79 | + | ||
| 80 | + | `Name: Package1, Version: 1.0, Filename: /home/.../package1.lpk.` | |
| 81 | + | ||
| 82 | + | - IDE automaticky vytvára hlavný súbor zdrojového kódu (package1.pas). Súbor .lpk obsahuje informácie o vyžadovaných balíčkoch, použitých súboroch, ako ich kompilovať a čo je potrebné pre použitie balíčka inými balíčkami/projektmi. Adresár, v ktorom sa nachádza súbor .lpk, je volaný "adresár balíčka". | |
| 83 | + | - IDE udržiava zoznam všetkých balíčkových súborov (\<config directory\>/packagelinks.xml). Vždy keď otvoríte balíček v IDE, je pridaný do tohoto zoznamu. Keď otvoríte balíček, IDE automaticky otvorí všetky vyžadované balíčky pomocou tohoto zoznamu. | |
| 84 | + | - Tri základné balíčky: FCL, LCL a SynEdit, sú súčasťou IDE a tak sú vytvorené automaticky, len na čítanie a nemajú súbor .lpk. | |
| 85 | + | - Bežné balíčky majú zdrojový adresár s jednotkami Pascalu. Normálne je tam aj súbor .lpk. Balíček má aj výstupný adresár, predvolene to je podadresár 'lib/\$(TargetCPU)-\$(TargetOS)/' a adresári balíčka. | |
| 86 | + | - Pred samotnou kompiláciou balíčka IDE skontroluje všetky vyžadované balíčky a ak ich je potrebné aktualizovať a majú nastavený príznak autoaktualizácie, sú najprv preložené. Potom IDE vytvorí hlavný súbor zdrojového kódu, ak bol súbor .lpk napríklad package1.lpk, potom hlavný súbor zdrojového kódu bude package1.pas. Tento súbor obsahuje v sekcii uses všetky jednotky a procedúru 'Register', ktorá je volaná v sekcii intialization. | |
| 87 | + | ||
| 88 | + | Napríklad | |
| 89 | + | ||
| 90 | + | `This file was automatically created by Lazarus. Do not edit!`\ | |
| 91 | + | `This source is only used to compile and install`\ | |
| 92 | + | `the package GTKOpenGL 1.0.`\ | |
| 93 | + | ` unit GTKOpenGL;`\ | |
| 94 | + | `interface`\ | |
| 95 | + | `uses GTKGLArea, GTKGLArea_Int, NVGL, NVGLX, LazarusPackageIntf;`\ | |
| 96 | + | `implementation`\ | |
| 97 | + | `procedure Register;`\ | |
| 98 | + | `begin`\ | |
| 99 | + | ` RegisterUnit('GTKGLArea', @GTKGLArea.Register);`\ | |
| 100 | + | `end;`\ | |
| 101 | + | `initialization`\ | |
| 102 | + | ` RegisterPackage('GTKOpenGL', @Register)`\ | |
| 103 | + | `end.` | |
| 104 | + | ||
| 105 | + | - Potom je volaný prekladač a balíček je preložený do výstupného adresára. | |
| 106 | + | - Po úspešnom preklade je vytvorený stavový súbor. Stavový súbor je vložený do výstupného adresára, volá sa \<menobalíčka\>.compiled a obsahuje informácie o tom, ako bol balíček preložený. Tento stavový súbor je použitý v IDE pre kontrolu či jepotrebná aktualizácia. | |
| 107 | + | ||
| 108 | + | Príklad: gtkopengl.compiled: | |
| 109 | + | ||
| 110 | + | `<?xml version="1.0"?>`\ | |
| 111 | + | `<CONFIG>`\ | |
| 112 | + | ` <Compiler Value="/usr/bin/ppc386" Date="781388725"/>`\ | |
| 113 | + | ` <Params Value=" -Rintel -S2cgi -CD -Ch8000000 -OG1p1`\ | |
| 114 | + | ` -Tlinux -gl -vewnhi -l -Fu../../../lcl/units`\ | |
| 115 | + | ` -Fu../../../lcl/units/gtk -Fu../../../packager/units`\ | |
| 116 | + | ` -Fu. -FElib/ gtkopengl.pas"/>`\ | |
| 117 | + | `</CONFIG>` | |
| 118 | + | ||
| 119 | + | - IDE otvára všetky potrebné balíčky automaticky. To znamená, že otvára všetky nainštalované balíčky, všetky balíčky označené pre inštaláciu (auto install), všetky balíčky s otvoreným Editor, všetky balíčky vyžadované projektom a všetky balíčky vyžadované inými balíčkami. Nepotebné balíčky sú automaticky uvoľnené, keď má IDE trochu času. | |
| 120 | + | - IDE nikdy neotvára dva balíčky s rovnakým menom naraz. Keď používateľ otvorí iný balíček s rovnakým menom ako má už otvorený balíček, IDE sa spýta na jeho nahradenie. | |
| 121 | + | - IDE spravuje dve samostatné množiny balíčkov: **nainštalované** balíčky a **automaticky nainštalované** balíčky. Automaticky nainštalované balíčky budú pripojené k IDE pri nasledujúcom preklade IDE. Na to si vytvára v konfiguračnom adresári dva nové súbory: staticpackages.inc a idemake.cfg. Potom pre preloženia seba samého volá: | |
| 122 | + | ||
| 123 | + | `make ide OPT=@/path/to/your/config/idemake.cfg` | |
| 124 | + | ||
| 125 | + | ## Pokyny a tipy | |
| 126 | + | ||
| 127 | + | Prosím, pridajte každý pokyn, či tip tu. | |
| 128 | + | ||
| 129 | + | - pre premenovanie balíčka použite 'Save as'. | |
| 130 | + | ||
| 131 | + | Príklad | |
| 132 | + | ||
| 133 | + | Ako príklad použijem tiOPF. tiOPF má takúto štruktúru adresára, keďže je preložený pre FPC, Delphi 5-7, D2005 a D2006. | |
| 134 | + | ||
| 135 | + | `Source <= úplná cesta \Programming\3rdParty\tiOPF\Source`\ | |
| 136 | + | ` \Compilers`\ | |
| 137 | + | ` \Delphi7 <= tu je balíček pre Delphi 7`\ | |
| 138 | + | ` \D2005`\ | |
| 139 | + | ` \FPC <= tu je tiOPF.lpk`\ | |
| 140 | + | ` \Core <= súbory základných jednotiek`\ | |
| 141 | + | ` \Options <= súbory voliteľných jendotiek, pre dodatočné funkcie`\ | |
| 142 | + | ` \GUI` | |
| 143 | + | ||
| 144 | + | Pre použitie tohoto príkladu som pridal do "Options - Usage - Units" nasledujúce cesty: | |
| 145 | + | ||
| 146 | + | `"$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" ` | |
| 147 | + | ||
| 148 | + | ktoré budú pridané do každého projektu používajúceho tento balíček. | |
| 149 | + | ||
| 150 | + | ## Pridanie existujúcej komponenty do balíčka | |
| 151 | + | ||
| 152 | + | Pokiaľ chcete pridat súbor obsahujúci nejakú komponentu do existujúceho balíčka, postupujte takto: | |
| 153 | + | ||
| 154 | + | - Otvorte súbor balíčka | |
| 155 | + | - Kliknite na 'Add', aby ste pridali novú položku do balíčka | |
| 156 | + | - Vyberte zalóžku v okne 'Add to package' | |
| 157 | + | - Vyberte súbor ktorý chcete pridať | |
| 158 | + | - Zaškrtnite políčko 'Has Register procedure' v prípade, že súbor obsahuje registrovaciu procedúru (Register). Ak toto nespravíte, komponenta sa nezobrazí na palete komponentov. | |
| 159 | + | - Kliknite 'Add unit' | |
| 160 | + | - Prekompilujte a nainštalujte balíček. | |
| 161 | + | ||
| 162 | + | To je všetko - komponenta by teraz mala byť na palete komponentov. | |
| 163 | + | ||
| 164 | + | ## Registrovacia procedúra Register | |
| 165 | + | ||
| 166 | + | Aby sa mohla komponenta zobraziť na palete komponentov, musí byť zaregistrovaná v Lazarovi. Toto sa deje v registrovacej procedúre. Táto procedúra sa musí objaviť v interface sekcii unity a musí obsahovať jeden alebo viacej volaní RegisterComponent, takisto tiež parametre inštalácie a editor pre komponenty. | |
| 167 | + | ||
| 168 | + | V balíčku sa môže nachádzať viac ako jedna procedúra Register. V editore balíčko (Package Editor) musí Lazarovi povedať, ktoré unity majú procedúru Register, aby vedel, ktorú zavolať po nainštalovaní balíčka. | |
| 169 | + | ||
| 170 | + | Sú dva spôsoby, ako označiť unitu obsahujúci procedúru Register: | |
| 171 | + | ||
| 172 | + | - Môžete tak spraviť pri pridávaní unít do balíčka (pozri tiež Pridanie existujúcej komponenty do balíčka) | |
| 173 | + | - Alebo môžete vybrať unitu v nastavení balíčka a zaškrtnúť políčko "Register" v okne Details | |
| 174 | + | ||
| 175 | + | Nezabudnite prekompilovať a nainštalovať balík po zmene parametrov. | |
| 176 | + | ||
| 177 | + | ## Spolupracovníci a komentáre | |
| 178 | + | ||
| 179 | + | This page has been converted from the epikwiki [version](http://lazarus-ccr.sourceforge.net/index.php?wiki=LazarusPackages). | |
| 180 | + | ||
| 181 | + | - dokončenie prekladu a aktualizácia z originálu --Komunista 18:45, 2 January 2008 (CET) | |
| 182 | + | ||
| 183 | + | --- | |
| 184 | + | *From the Free Pascal wiki, page "Lazarus Packages/sk", as it stood on 2008-12-29 after a change by Adamm, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
