Sign in Join
Wiki copytemporary

Lazarus Packages/pt: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11# Visão Geral do Sistema de Pacotes do Lazarus
22
33## O que é um pacote Lazarus?
44
55Um pacote Lazarus é uma coleção de unidades e componentes contendo informação sobre como eles podem ser compilados e como eles podem ser usados por projetos ou outros pacotes ou a IDE. Ao contrário do Delphi, os pacotes não são limitados a bibliotecas e podem ser independentes de sistema operacional. (No Delphi um pacote é uma biblioteca especialmente compilada usada por aplicações, pela IDE ou por ambos. Os pacotes do Delphi requerem a magia do compilador Delphi, o que o FPC não é capaz de fazer no momento e, é claro, esta magia é dependente de sistema operacional.)
66
77Atualmente o compilador [[Free Pascal]] só dá suporte a pacotes estáticos. Portanto você deve reiniciar a IDE a cada vez que um pacote é instalado ou desinstalado.
88
99Um pacote Lazarus é identificado ou distinguido pelo nome e pela versão.
1010
1111## FAQ
1212
1313P: É preciso instalar um pacote:?\
1414R: Você só precisa instalar um pacote se ele contiver itens de tempo de desenho, como os componentes da paleta de componentes da IDE. Se você não usa estes itens, não precisa instalar o pacote. Se você só quer usar o pacote em seus projetos, não o instale. P: Eu instalei um pacote mas a IDE não encontra as unidades\
1515R: Instalar um pacote significa que o pacote é integrado à IDE, não ao seu projeto. São duas coisas diferentes. Para usar um pacote no seu projeto, vá a Projeto \> Inspetor de Projetos \> Adicionar \> Novo Requerimento. E desinstale o pacote se ele não contém itens usados pela IDE.
1616
1717## Início Rápido
1818
1919Para ver o sistema de pacotes em ação e se acostumar com ele, faça o seguinte:
2020
2121Criando um novo pacote:
2222
2323- Arquivo -\> Novo... -\> Pacote -\> Pacote Padrão
2424- Abre-se o editor de pacotes
2525- Use o botão Salvar no alto à esquerda.
2626- Dependendo da sua configuração de nome em Opções de Ambiente a IDE vai perguntar por salvar em minúsculas. Responda Sim.
2727
2828Parabéns: Você criou o seu primeiro pacote.
2929
3030Adicionando um novo componente:
3131
3232- Use o botão Adicionar -\> Novo componente
3333- Escolha um componente na combobox de classes ancestrais. Por exemplo: TBevel.
3434- Clique em Ok
3535- O arquivo vai ser adicionado ao pacote e aberto no editor
3636- Instale o pacote clicando em 'instalar' no alto do editor de pacotes.
3737- O Lazarus vai salvar o pacote e perguntar se a IDE deve ser reconstruida. Responda Sim.
3838- Os pacotes são vinculados estaticamente, portanto é preciso reiniciar a IDE.
3939- Reinicie o Lazarus e veja seu novo componente na paleta de componentes (por exemplo: um TBevel1 vai estar na aba 'Additional').
4040- Se você não vê o seu componente na paleta de componentes, é possível que você não esteja executando a versão recompilada do Lazarus. Você pode configurar onde construir o Lazarus em Ambiente \> Opções de Ambiente \> Arquivos \> Diretório do Lazarus. Em vez de chamar o Lazarus diretamente você pode usar o StartLazarus, que inicia o Lazarus recém-criado, por exemplo o executável do Lazarus no diretório ~/.lazarus, se você não tem direito de acesso para gravação ao diretório em que o Lazarus está instalado.
4141
4242Parabéns: Você instalou o seu primeiro pacote com seu primeiro componente.
4343
4444## Os itens de menu da IDE para pacotes:
4545
4646- Arquivo -\> Novo... -\> Pacote -\> Pacote Padrão
4747
4848Cria um novo pacote.
4949
5050- Projeto -\> Inspetor de Projetos
5151
52-` Aqui você pode ver que pacotes são requeridos pelo projeto atualmente aberto.`\
53-` Você pode adicionar novas dependências ou remover as desnecessárias.`
52+```text
53+ Aqui você pode ver que pacotes são requeridos pelo projeto atualmente aberto.
54+ Você pode adicionar novas dependências ou remover as desnecessárias.
55+```
5456
5557- Executar -\> Opções do Compilador -\> Herdado
5658
57-` Aqui você pode ver que opções de compilador são herdadas de que pacote.`
59+```text
60+ Aqui você pode ver que opções de compilador são herdadas de que pacote.
61+```
5862
5963Componentes -\>
6064
61-` - 'Abrir pacote'`\
62-`   Uma caixa de diálogo mostra todos os pacotes abertos e o seu estado.`\
63-` - 'Abrir arquivo de pacote'`\
64-`   Abre um arquivo .lpk`
65+```text
66+ - 'Abrir pacote'
67+ Uma caixa de diálogo mostra todos os pacotes abertos e o seu estado.
68+ - 'Abrir arquivo de pacote'
69+ Abre um arquivo .lpk
70+```
6571
66-` - 'Abrir pacote da unidade atual'`\
67-`   Abre o arquivo .lpk a que pertence o arquivo aberto no editor de código`\
68-`   `\
69-` - 'Abrir pacote recente'`\
70-`   Abre um pacote recentemente aberto (arquivoi .lpk )`
72+```text
73+ - 'Abrir pacote da unidade atual'
74+ Abre o arquivo .lpk a que pertence o arquivo aberto no editor de código
75+
76+ - 'Abrir pacote recente'
77+ Abre um pacote recentemente aberto (arquivoi .lpk )
78+```
7179
72-` - 'Adcionar unidade atual a pacote'`\
73-`   Adicioona a unidade aberta no editor de código a um pacote `\
74-`   `\
75-` - 'Gráfico de Pacotes'`\
76-`   O gráfico de pacotes mostra todos os pacotes abertos e suas dependências`
80+```text
81+ - 'Adcionar unidade atual a pacote'
82+ Adicioona a unidade aberta no editor de código a um pacote
83+
84+ - 'Gráfico de Pacotes'
85+ O gráfico de pacotes mostra todos os pacotes abertos e suas dependências
86+```
7787
78-` - 'Configurar pacotes instalados'`\
79-`   Edita a lista de pacotes instalados na IDE. Instala ou desinstala vários pacotes de uma vez`
88+```text
89+ - 'Configurar pacotes instalados'
90+ Edita a lista de pacotes instalados na IDE. Instala ou desinstala vários pacotes de uma vez
91+```
8092
8193Projeto -\> Inspetor de Projetos
8294
83-` Aqui você vê e edita todos os pacotes usados pelo projeto`
95+```text
96+ Aqui você vê e edita todos os pacotes usados pelo projeto
97+```
8498
8599## A teoria
86100
87101Cada pacote Lazarus tem um arquivo .lpk. Um pacote é identificado pelo seu nome e sua versão. O nome precisa corresponder ao nome do arquivo .lpk. Por exemplo:
88102
89103Nome: Package1, Versão: 1.0, Nome do arquivo: /home/.../package1.lpk.
90104
91105- A IDE cria automaticamente o arquivo-fonte principal (package1.pas) Veja abaixo. O arquivo .lpk contém informação sobre os pacotes requeridos, os arquivos que ele usa, como compilá-los e o que é necessáro para usar o pacote por outros pacotes ou projetos. O diretório em que o arquivo .lpk está é chamado "diretório de pacotes".
92106- A IDE mantém uma lista de todos os arquivos de pacote (\<config directory\>/packagelinks.xml) Toda vez que um pacote é aberto na IDE ele vai ser adicionado à lista. Quando um pacote é aberto, a IDE automaticamene abre todos os pacotes requeridos através desta lista.
93107- Existem três pacotes básicos: FCL, LCL e SynEdit. Eles são parte da IDE e assim eles são auto-criados, somente leitura e não tem arquivo .lpk.
94108- Normalmente um pacote tem um diretório de fontes com algumas unidades Pascal. E normalmente o arquivo .lpk estará lá também. Um pacote tem também um diretório de saída. O padrão é o subdiretório 'lib/\$(TargetCPU)-\$(TargetOS)/' no diretório de pacotes.
95109
96110- Antes de um pacote ser compilado a IDE verifica todos os pacotes requeridos e se eles precisam de atualização e tem a flag de auto-atualização eles são compilados primeiro. Então a IDE cria o pacote dos fontes principais. Se o arquivo .lpk era package1.lpk, o arquivo de fontes principal será package1.pas. O arquivo contém todas as unidades da cláusula uses mais o procedimento Register, que é chamado na seção de inicialização.
97111
98112Por exemplo:
99113
100-`This file was automatically created by Lazarus. Do not edit!`\
101-`This source is only used to compile and install`\
102-`the package GTKOpenGL 1.0.`\
103-` unit GTKOpenGL;`\
104-`interface`\
105-`uses GTKGLArea, GTKGLArea_Int, NVGL, NVGLX, LazarusPackageIntf;`\
106-`implementation`\
107-`procedure Register;`\
108-`begin`\
109-`  RegisterUnit('GTKGLArea', @GTKGLArea.Register);`\
110-`end;`\
111-`initialization`\
112-`  RegisterPackage('GTKOpenGL', @Register)`\
113-`end.`
114+``` pascal
115+This file was automatically created by Lazarus. Do not edit!
116+This source is only used to compile and install
117+the package GTKOpenGL 1.0.
118+unit GTKOpenGL;
119+interface
120+uses GTKGLArea, GTKGLArea_Int, NVGL, NVGLX, LazarusPackageIntf;
121+implementation
122+procedure Register;
123+begin
124+ RegisterUnit('GTKGLArea', @GTKGLArea.Register);
125+end;
126+initialization
127+ RegisterPackage('GTKOpenGL', @Register)
128+end.
129+```
114130
115131- Então o compilador é chamado e o pacote é compilado para o diretório de saída.
116132- Depois de uma compilação bem-sucedida o arquivo de estado é criado. O arquivo de estado é posto no diretório de saída. Ele tem o nome \<packagename\>.compiled e contém a informação de como o pacote foi compilado. Este arquivo de estado é usado pela IDE para verificar se atualizações são necessárias.
117133
118134Por exemplo: gtkopengl.compiled:
119135
120-`<?xml version="1.0"?>`\
121-`<CONFIG>`\
122-`  <Compiler Value="/usr/bin/ppc386" Date="781388725"/>`\
123-`  <Params Value=" -Rintel -S2cgi -CD -Ch8000000 -OG1p1`\
124-`    -Tlinux -gl -vewnhi -l -Fu../../../lcl/units`\
125-`    -Fu../../../lcl/units/gtk -Fu../../../packager/units`\
126-`    -Fu. -FElib/ gtkopengl.pas"/>`\
127-`</CONFIG>`
136+```text
137+<?xml version="1.0"?>
138+<CONFIG>
139+ <Compiler Value="/usr/bin/ppc386" Date="781388725"/>
140+ <Params Value=" -Rintel -S2cgi -CD -Ch8000000 -OG1p1
141+ -Tlinux -gl -vewnhi -l -Fu../../../lcl/units
142+ -Fu../../../lcl/units/gtk -Fu../../../packager/units
143+ -Fu. -FElib/ gtkopengl.pas"/>
144+</CONFIG>
145+```
128146
129147- A IDE abre todos os pacotes necessários automaticamente. Isto quer dizer que ela abre todos os pacotes instalados, todos os pacotes marcados para instalação (auto-instalados), todos os pacotes abertos no Editor, todos os pacotes requeridos pelo projeto e todos os pacotes requeridos por um dos outros pacotes. Pacotes desnecessários são automaticamente descarregados quando a IDE se torna ociosa.
130148- A IDE nunca abre dois pacotes com o mesmo nome ao mesmo tempo. Quando o usuário abre outro arquivo de pacote com o mesmo nome de um pacote já aberto, a IDE vai perguntar por substituir o antigo.
131149- A IDE mantém dois grupos extra de pacotes: os pacotes 'instalados' e os 'auto-instalados'. Os pacotes auto-instlados vão ser vinculados à IDE na próxima compilação. Ela cria dois novos arquivos no diretório de config: staticpackages.inc e idemake.cfg. Então ela chama 'make ide OPT=@/path/to/your/config/idemake.cfg' para se auto-compilar.
132150
133151## Dicas
134152
135153- Para renomear um pacote, use Salvar Como.
136154
137155Exemplo:
138156
139-`Eu vou usar tiOPF framework como exemplo. The tiOPF tem o seguinte`\
140-`layout de diretório, devido ao fato de que ele compila para FPC, `\
141-`Delphi 5-7, D2005 e 2006.`
157+```text
158+Eu vou usar tiOPF framework como exemplo. The tiOPF tem o seguinte
159+layout de diretório, devido ao fato de que ele compila para FPC,
160+Delphi 5-7, D2005 e 2006.
161+```
142162
143-`Fontes                <= caminho completo \Programming\3rdParty\tiOPF\Source`\
144-` \Compiladores`\
145-`    \Delphi7          <= Pacote do Delphi 7 ficam aqui `\
146-`    \D2005`\
147-`    \FPC              <= o tiOPF.lpk fica aqui `\
148-` \Core                <= arquivos de unidade core`\
149-` \Options             <= arquivo opcional de unidade para funcionalidades extra`\
150-` \GUI`\
163+```text
164+Fontes <= caminho completo \Programming\3rdParty\tiOPF\Source
165+ \Compiladores
166+ \Delphi7 <= Pacote do Delphi 7 ficam aqui
167+ \D2005
168+ \FPC <= o tiOPF.lpk fica aqui
169+ \Core <= arquivos de unidade core
170+ \Options <= arquivo opcional de unidade para funcionalidades extra
171+ \GUI
151172
152-`Usando este exemplo, eu incluí na caixa de edição "Opções - Uso - Unidades" o seguintes caminhos:`\
153-`"$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" que vão ser adicionados`\
154-`a qualquer projeto que use este pacote.`
173+Usando este exemplo, eu incluí na caixa de edição "Opções - Uso - Unidades" o seguintes caminhos:
174+"$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" que vão ser adicionados
175+a qualquer projeto que use este pacote.
176+```
155177
156178## Contribuidores e Comentários
157179
158180Esta página foi convertida da [versão](http://lazarus-ccr.sourceforge.net/index.php?wiki=LazarusPackages) epikwiki.
159181
160182---
161183*From the Free Pascal wiki, page "Lazarus Packages/pt", as it stood on 2007-06-10 after a change by Antoniog, 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).*

Back to history