Libs, Legal, Mas como Fazer?
Moderador: Moderadores
-
Renan
- Usuário Nível 2

- Mensagens: 73
- Registrado em: 19 Jul 2007 20:01
- Localização: Itu - sp (Interiorzao)
Libs, Legal, Mas como Fazer?
Ai pessoal Podem me ajudar a criar libs, naum sei nda para criar libs quais programas, codigos, comandos ? heheh soh sei usar hehe!
_-|Renan|-_.
_-|Renan|-_.
Se te derem um limao faca uma limonda horas,
##Perguntas que fazem o mundo pensar#######
EM QUANTOS SEGUNDOS UMA MAQUINA ENROLA 1
ROLO DE PAPEL HIGIENICO?
###############################
##Perguntas que fazem o mundo pensar#######
EM QUANTOS SEGUNDOS UMA MAQUINA ENROLA 1
ROLO DE PAPEL HIGIENICO?
###############################
Bibliotecas são conjuntos de módulos objetos. Cada PRG criado será um módulo, onde poderão constar diversos símbolos, o que inclui funções e variáveis públicas.
Para criar bibliotecas, portanto, você precisará gerar seus objetos pela compilação dos fontes. Feito isso, bastará usar um simples utilitário que criará o arquivo de extensão LIB. Acho que o melhor, ou pelo menos o mais simples e eficiente, na minha opinião, é o TLib da Borland. Exemplo de uso:
Cada movimento (inclusão, exclusão, etc) deve ser executado separadamente. Eu sei que o Clipper não usa esse utilitário. Mas eu nunca usei o LIB que acompanha o Clipper. Entretanto, o princípio é exatamente o mesmo. Basta executar o LIB do Clipper sem qualquer parâmetro e ver sua lista de opções. E leia também o NG, que contém outras informações.
Para criar bibliotecas, portanto, você precisará gerar seus objetos pela compilação dos fontes. Feito isso, bastará usar um simples utilitário que criará o arquivo de extensão LIB. Acho que o melhor, ou pelo menos o mais simples e eficiente, na minha opinião, é o TLib da Borland. Exemplo de uso:
Código: Selecionar todos
tlib myLib +tst1,tst2,tst3 // acrescenta os OBJs à myLib
tlib myLib -tst1,tst2,tst3 // exclui os OBJs
tlib myLib +-tst1,tst2,tst3 // substitui os OBJs[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Um adendo: caso queira usar o TLIB da Borland (versão 4.5, que acompanha o BCC) ao invés do LIB que acompanha o Clipper, é só pegar do meu site, na área "pub". Diretório "tools".
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Quando você executa uma função no seu programa, o compilador cria naquele lugar uma referência a esta função, como um símbolo pendente de ligação. O trabalho de ligação é feito pelo linker. Daí vem o nome. Ao usar seu linker preferido, seja ele o RTlink, que acompanha o Clipper, ou o BLinker, sua biblioteca deverá ser declarada para que ele possa pesquisar pelo símbolo pendente. Uma vez que ele encontre um nome de símbolo igual, o código a ele vinculado é ligado ao seu programa estaticamente. Ou seja, ele é incorporado ao seu EXE.
Suponhamos que seu programa tenha a chamada de uma função feita por você e incluída naquela biblioteca exemplo. Você precisa dizer ao linker onde procurar por aquele símbolo.
Apenas observe um detalhe: uma função é um símbolo que reside dentro de um módulo. Seu PRG compilado com uma ou mais funções é este módulo. É ele que será incluído na biblioteca. Portanto, se você tem um módulo com 500 funções (ou símbolos) mas usa apenas uma função, todas as outras 499 funções (ou símbolos) serão incorporados ao seu executável. Aí se vê que é necessário ter um certo cuidado na composição dos módulos (ou PRGs), a fim de evitar que seu executável se transforme num monstro.
))
Suponhamos que seu programa tenha a chamada de uma função feita por você e incluída naquela biblioteca exemplo. Você precisa dizer ao linker onde procurar por aquele símbolo.
Código: Selecionar todos
rtlink fi teste li myLib[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
O BLinker, acredito eu, é unanimidade entre os programadores Clipper. Além do que, o RTlink que acompanha o Clipper só cria programas no modo real. E o modo protegido traz mais vantagens. Daí a turma prefere o BLinker mesmo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
O Blinker é melhor mesmo.Já sabe linkar sua lib no seu sistema ? ...se ficou com duvida posta seu .LNK que podemos montar facilmente pra vc...Renan escreveu:blinker, num sei pq no meu pc o rtlink da um erro dai axei o blinker eu nunca mas mexi no rtlink
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
Renan
- Usuário Nível 2

- Mensagens: 73
- Registrado em: 19 Jul 2007 20:01
- Localização: Itu - sp (Interiorzao)
nao ja sei qeu vc tem que ser assim blinker fi teste lib renaslib,vl2_52,fast,gsutil03 e la vai cacetada,naum era essa a minha duvida, tipo assim geralmente eu ponho no programa assim Main()//chama main
no fim do programa ponho la
function main ()
alert("OI,LIBS")
return nil
c eu por a essa funcao na obj trans pra lib e linka junto eu posso tira a function main do programa principal
no fim do programa ponho la
function main ()
alert("OI,LIBS")
return nil
c eu por a essa funcao na obj trans pra lib e linka junto eu posso tira a function main do programa principal
Se te derem um limao faca uma limonda horas,
##Perguntas que fazem o mundo pensar#######
EM QUANTOS SEGUNDOS UMA MAQUINA ENROLA 1
ROLO DE PAPEL HIGIENICO?
###############################
##Perguntas que fazem o mundo pensar#######
EM QUANTOS SEGUNDOS UMA MAQUINA ENROLA 1
ROLO DE PAPEL HIGIENICO?
###############################
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Não entendi muito bem, mas seria algo assim hoooo....sua function main() ficaria na LIB e vc linka essa lib como no seu exemplo...e pode chamar ela de qualquer aprte do seu sistema.Renan escreveu:nao ja sei qeu vc tem que ser assim blinker fi teste lib renaslib,vl2_52,fast,gsutil03 e la vai cacetada,naum era essa a minha duvida, tipo assim geralmente eu ponho no programa assim Main()//chama main
no fim do programa ponho la
function main ()
alert("OI,LIBS")
return nil
c eu por a essa funcao na obj trans pra lib e linka junto eu posso tira a function main do programa principal
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
A principal vantagem, Eolo, é o reaproveitamente e distribuição de código. Se não fossem as LIBs, a CATools, por exemplo, seria uma coleção imensa de objetos.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Eu tenho em Minha Lib varias funções que uso em varios sistemas....vamos dizer que seria um jeito facil de carregar todas essas minhas funções de um sistema para o outro. e seu tiver alguma alteração...ou inclusão soh subistituo a LIB e não altero cada PRG.Eolo escreveu:Uma pergunta, pra complicar: se, no Clipper, todas as funções são "incluídas" no EXE e você não precisa distribuir a LIB com o seu sistema, então qual a vantagem de se criar LIBs? O tempo da compilação?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql

