Lazarus Packages/sk: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | # Prehlad balíkového systému Lazarus | |
| 2 | 2 | ||
| 3 | 3 | ## Čo je balík v Lazaruse? | |
| 4 | 4 | ||
| 5 | 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 | 6 | ||
| 7 | 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 | 8 | ||
| 9 | 9 | Balík lazarusu je identifikovaný menom a verziou. | |
| 10 | 10 | ||
| 11 | 11 | ## FAQ | |
| 12 | 12 | ||
| 13 | 13 | **Otázka**: Potrebujem inštalovať balíček? | |
| 14 | 14 | ||
| 15 | 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 | 16 | ||
| 17 | 17 | **Otázka**: Nainštaloval som balíček, ale IDE nevie nájsť jednotky | |
| 18 | 18 | ||
| 19 | 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 | 20 | ||
| 21 | 21 | ## Rýchly štart | |
| 22 | 22 | ||
| 23 | 23 | Aby ste videli balíkový systém v akcií urobte následovné: | |
| 24 | 24 | ||
| 25 | 25 | Vytváranie nového balíku: | |
| 26 | 26 | ||
| 27 | 27 | - **File-\>New... -\> Package -\> Standard Package** | |
| 28 | 28 | - Otvorí sa editor balíkov | |
| 29 | 29 | - Použite tlačidlo Save hore vlavo. | |
| 30 | 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 | 31 | ||
| 32 | 32 | Gratulujem: Práve ste vytvorili svôj prvý balík. | |
| 33 | 33 | ||
| 34 | 34 | Pridávanie nového komponentu: | |
| 35 | 35 | ||
| 36 | 36 | - Použite tlačidlo **Add -\> New component** | |
| 37 | 37 | - Vyberte si komponent v zozname predkov typu combobox. Napr.: TBevel. | |
| 38 | 38 | - Kliknite OK | |
| 39 | 39 | - Súbor bude pridaný do balíčka a otvorený v editore. | |
| 40 | 40 | - Nainštalujte balík pomocou tlačidla 'install' na vrchu editora balíkov. | |
| 41 | 41 | - Lazarus uloží balík a spýta sa či má byť IDE prebudované. Sltačte Áno. | |
| 42 | 42 | - Balíky sú staticky linkované takže je potrebný reštart IDE. | |
| 43 | 43 | - Reštartujte Lazarus a pozrite či máte svoj komponent v lište komponentov (Napr.: TBevel1 bude na 'Additional' stránke). | |
| 44 | 44 | ||
| 45 | 45 | Gratulujem: Práve ste nainštalovaly svoj prvý balík so svojim prvým komponentom. | |
| 46 | 46 | ||
| 47 | 47 | ## Položky menu IDE pre balíčky | |
| 48 | 48 | ||
| 49 | 49 | File-\>New... -\> Package -\> Standard Package | |
| 50 | 50 | ||
| 51 | 51 | - vytvorí nový balíček | |
| 52 | 52 | ||
| 53 | 53 | Project -\> Project Inspector | |
| 54 | 54 | ||
| 55 | 55 | - zobrazuje, ktoré balíčky sú vyžadované projektom, ktorý je práve otvorený | |
| 56 | 56 | - môžete tu pridať/odobrať závislosti | |
| 57 | 57 | ||
| 58 | 58 | Run -\> Compiler options -\> Inherited | |
| 59 | 59 | ||
| 60 | 60 | - zobrazuje voľby prekladača, a z ktorého balíčka sú zdedené | |
| 61 | 61 | ||
| 62 | 62 | Components -\> | |
| 63 | 63 | ||
| 64 | 64 | - **Open loaded package**: dialóg zobrazujúci všetky otvorené balíčky a ich stav | |
| 65 | 65 | - **Open package file (.lpk)**: otvoriť súbor .lpk | |
| 66 | 66 | - **Open package of current unit**: otvoriť súbor .lpk, ktorý patrí súboru v Editore zdrojového kódu | |
| 67 | 67 | - **Open recent package**: otvoriť súbor naposledy otvoreného balíčka (súbor .lpk) | |
| 68 | 68 | - **Add active unit to a package**: pridá jednotku v Editore zdrojového kódu do balíčka | |
| 69 | 69 | - **Package Graph**: Diagram balíčkov, zobrazuje všetky otvorené balíčky a ich závislosti | |
| 70 | 70 | - **Configure installed packages**: upraviť zoznam balíčkov nainštalovaných v IDE - nainštalovať/odinštalovať viacero balíčkov naraz | |
| 71 | 71 | ||
| 72 | 72 | Project -\> Project Inspector | |
| 73 | 73 | ||
| 74 | 74 | - tu možno upravovať všetky balíčky použité projektom | |
| 75 | 75 | ||
| 76 | 76 | ## Teória | |
| 77 | 77 | ||
| 78 | 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 | 79 | ||
| 80 | - | ||
| 80 | + | ```text | |
| 81 | + | Name: Package1, Version: 1.0, Filename: /home/.../package1.lpk. | |
| 82 | + | ``` | |
| 81 | 83 | ||
| 82 | 84 | - 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 | 85 | - 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 | 86 | - 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 | 87 | - 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 | 88 | - 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 | 89 | ||
| 88 | 90 | Napríklad | |
| 89 | 91 | ||
| 90 | - | ||
| 91 | - | ||
| 92 | - | ||
| 93 | - | ||
| 94 | - | ||
| 95 | - | ||
| 96 | - | ||
| 97 | - | ||
| 98 | - | ||
| 99 | - | ||
| 100 | - | ||
| 101 | - | ||
| 102 | - | ||
| 103 | - | ||
| 92 | + | ``` pascal | |
| 93 | + | This file was automatically created by Lazarus. Do not edit! | |
| 94 | + | This source is only used to compile and install | |
| 95 | + | the package GTKOpenGL 1.0. | |
| 96 | + | unit GTKOpenGL; | |
| 97 | + | interface | |
| 98 | + | uses GTKGLArea, GTKGLArea_Int, NVGL, NVGLX, LazarusPackageIntf; | |
| 99 | + | implementation | |
| 100 | + | procedure Register; | |
| 101 | + | begin | |
| 102 | + | RegisterUnit('GTKGLArea', @GTKGLArea.Register); | |
| 103 | + | end; | |
| 104 | + | initialization | |
| 105 | + | RegisterPackage('GTKOpenGL', @Register) | |
| 106 | + | end. | |
| 107 | + | ``` | |
| 104 | 108 | ||
| 105 | 109 | - Potom je volaný prekladač a balíček je preložený do výstupného adresára. | |
| 106 | 110 | - 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 | 111 | ||
| 108 | 112 | Príklad: gtkopengl.compiled: | |
| 109 | 113 | ||
| 110 | - | ||
| 111 | - | ||
| 112 | - | ||
| 113 | - | ||
| 114 | - | ||
| 115 | - | ||
| 116 | - | ||
| 117 | - | ||
| 114 | + | ```text | |
| 115 | + | <?xml version="1.0"?> | |
| 116 | + | <CONFIG> | |
| 117 | + | <Compiler Value="/usr/bin/ppc386" Date="781388725"/> | |
| 118 | + | <Params Value=" -Rintel -S2cgi -CD -Ch8000000 -OG1p1 | |
| 119 | + | -Tlinux -gl -vewnhi -l -Fu../../../lcl/units | |
| 120 | + | -Fu../../../lcl/units/gtk -Fu../../../packager/units | |
| 121 | + | -Fu. -FElib/ gtkopengl.pas"/> | |
| 122 | + | </CONFIG> | |
| 123 | + | ``` | |
| 118 | 124 | ||
| 119 | 125 | - 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 | 126 | - 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 | 127 | - 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 | 128 | ||
| 123 | - | ||
| 129 | + | ```text | |
| 130 | + | make ide OPT=@/path/to/your/config/idemake.cfg | |
| 131 | + | ``` | |
| 124 | 132 | ||
| 125 | 133 | ## Pokyny a tipy | |
| 126 | 134 | ||
| 127 | 135 | Prosím, pridajte každý pokyn, či tip tu. | |
| 128 | 136 | ||
| 129 | 137 | - pre premenovanie balíčka použite 'Save as'. | |
| 130 | 138 | ||
| 131 | 139 | Príklad | |
| 132 | 140 | ||
| 133 | 141 | 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 | 142 | ||
| 135 | - | ||
| 136 | - | ||
| 137 | - | ||
| 138 | - | ||
| 139 | - | ||
| 140 | - | ||
| 141 | - | ||
| 142 | - | ||
| 143 | + | ```text | |
| 144 | + | Source <= úplná cesta \Programming\3rdParty\tiOPF\Source | |
| 145 | + | \Compilers | |
| 146 | + | \Delphi7 <= tu je balíček pre Delphi 7 | |
| 147 | + | \D2005 | |
| 148 | + | \FPC <= tu je tiOPF.lpk | |
| 149 | + | \Core <= súbory základných jednotiek | |
| 150 | + | \Options <= súbory voliteľných jendotiek, pre dodatočné funkcie | |
| 151 | + | \GUI | |
| 152 | + | ``` | |
| 143 | 153 | ||
| 144 | 154 | Pre použitie tohoto príkladu som pridal do "Options - Usage - Units" nasledujúce cesty: | |
| 145 | 155 | ||
| 146 | - | ||
| 156 | + | ```text | |
| 157 | + | "$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" | |
| 158 | + | ``` | |
| 147 | 159 | ||
| 148 | 160 | ktoré budú pridané do každého projektu používajúceho tento balíček. | |
| 149 | 161 | ||
| 150 | 162 | ## Pridanie existujúcej komponenty do balíčka | |
| 151 | 163 | ||
| 152 | 164 | Pokiaľ chcete pridat súbor obsahujúci nejakú komponentu do existujúceho balíčka, postupujte takto: | |
| 153 | 165 | ||
| 154 | 166 | - Otvorte súbor balíčka | |
| 155 | 167 | - Kliknite na 'Add', aby ste pridali novú položku do balíčka | |
| 156 | 168 | - Vyberte zalóžku v okne 'Add to package' | |
| 157 | 169 | - Vyberte súbor ktorý chcete pridať | |
| 158 | 170 | - 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 | 171 | - Kliknite 'Add unit' | |
| 160 | 172 | - Prekompilujte a nainštalujte balíček. | |
| 161 | 173 | ||
| 162 | 174 | To je všetko - komponenta by teraz mala byť na palete komponentov. | |
| 163 | 175 | ||
| 164 | 176 | ## Registrovacia procedúra Register | |
| 165 | 177 | ||
| 166 | 178 | 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 | 179 | ||
| 168 | 180 | 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 | 181 | ||
| 170 | 182 | Sú dva spôsoby, ako označiť unitu obsahujúci procedúru Register: | |
| 171 | 183 | ||
| 172 | 184 | - Môžete tak spraviť pri pridávaní unít do balíčka (pozri tiež Pridanie existujúcej komponenty do balíčka) | |
| 173 | 185 | - Alebo môžete vybrať unitu v nastavení balíčka a zaškrtnúť políčko "Register" v okne Details | |
| 174 | 186 | ||
| 175 | 187 | Nezabudnite prekompilovať a nainštalovať balík po zmene parametrov. | |
| 176 | 188 | ||
| 177 | 189 | ## Spolupracovníci a komentáre | |
| 178 | 190 | ||
| 179 | 191 | This page has been converted from the epikwiki [version](http://lazarus-ccr.sourceforge.net/index.php?wiki=LazarusPackages). | |
| 180 | 192 | ||
| 181 | 193 | - dokončenie prekladu a aktualizácia z originálu --Komunista 18:45, 2 January 2008 (CET) | |
| 182 | 194 | ||
| 183 | 195 | --- | |
| 184 | 196 | *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).* |
