Kópia wikizrkadlo

Toto je zrkadlo wiki z pascal.chat. Úpravy, história a prihlásenie sú tam.

Lazarus Packages/sk

Deutsch · English · Español · Français · Português · Slovenčina · Русский · 日本語

Prehlad balíkového systému Lazarus

Čo je balík v Lazaruse?

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: 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).

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.

Balík lazarusu je identifikovaný menom a verziou.

FAQ

Otázka: Potrebujem inštalovať balíček?

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.

Otázka: Nainštaloval som balíček, ale IDE nevie nájsť jednotky

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.

Rýchly štart

Aby ste videli balíkový systém v akcií urobte následovné:

Vytváranie nového balíku:

Gratulujem: Práve ste vytvorili svôj prvý balík.

Pridávanie nového komponentu:

Gratulujem: Práve ste nainštalovaly svoj prvý balík so svojim prvým komponentom.

Položky menu IDE pre balíčky

File->New... -> Package -> Standard Package

Project -> Project Inspector

Run -> Compiler options -> Inherited

Components ->

Project -> Project Inspector

Teória

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:

text
Name: Package1, Version: 1.0, Filename: /home/.../package1.lpk.

Napríklad

pascal
This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install
the package GTKOpenGL 1.0.
unit GTKOpenGL;
interface
uses GTKGLArea, GTKGLArea_Int, NVGL, NVGLX, LazarusPackageIntf;
implementation
procedure Register;
begin
  RegisterUnit('GTKGLArea', @GTKGLArea.Register);
end;
initialization
  RegisterPackage('GTKOpenGL', @Register)
end.

Príklad: gtkopengl.compiled:

text
<?xml version="1.0"?>
<CONFIG>
  <Compiler Value="/usr/bin/ppc386" Date="781388725"/>
  <Params Value=" -Rintel -S2cgi -CD -Ch8000000 -OG1p1
    -Tlinux -gl -vewnhi -l -Fu../../../lcl/units
    -Fu../../../lcl/units/gtk -Fu../../../packager/units
    -Fu. -FElib/ gtkopengl.pas"/>
</CONFIG>
text
make ide OPT=@/path/to/your/config/idemake.cfg

Pokyny a tipy

Prosím, pridajte každý pokyn, či tip tu.

Príklad

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.

text
Source                <= úplná cesta \Programming\3rdParty\tiOPF\Source
 \Compilers
    \Delphi7          <= tu je balíček pre Delphi 7
    \D2005
    \FPC              <= tu je tiOPF.lpk
 \Core                <= súbory základných jednotiek
 \Options             <= súbory voliteľných jendotiek, pre dodatočné funkcie
 \GUI

Pre použitie tohoto príkladu som pridal do "Options - Usage - Units" nasledujúce cesty:

text
"$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI"

ktoré budú pridané do každého projektu používajúceho tento balíček.

Pridanie existujúcej komponenty do balíčka

Pokiaľ chcete pridat súbor obsahujúci nejakú komponentu do existujúceho balíčka, postupujte takto:

To je všetko - komponenta by teraz mala byť na palete komponentov.

Registrovacia procedúra Register

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.

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.

Sú dva spôsoby, ako označiť unitu obsahujúci procedúru Register:

Nezabudnite prekompilovať a nainštalovať balík po zmene parametrov.

Spolupracovníci a komentáre

This page has been converted from the epikwiki version.


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.

Verzia 2, posledná zmena: WikiArchive .