carregar bibliotecas....

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Craudião
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 01 Out 2007 11:18
Localização: São José dos Campos

carregar bibliotecas....

Mensagem por Craudião »

bom dia...me deem uma força... preciso usar uma função, e não consigo carregar a uma referida biblioteca... qual o procedimento para carrega-la? ja procurei e tentei de varios modos mas não consegui....
obrigado
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

vc usa o Blinker ou Rtlink ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Quando você faz referência a uma função no seu programa, o compilador marca esta chamada como uma referência não resolvida. O Linker, por sua vez, ao encontrar essa pendência, vai procurar nas LIBs que lhe forem informadas. Agora, resta saber se você fez uma referência direta ou indireta a essa função. Se for direta e a LIB não for informada para o linker, você terá o erro chamado "unresolved external". Se a referência for indireta (por meio de uma string - numa chave de índice, por exemplo), você precisará "dizer" ao compilador para incluir esse objeto. Para fazer isso, deve-se usar o comando REQUEST (veja o NG do Clipper).

Se quiser, poste um pedaço (pequeno) do seu programa onde essa função é utilizada, pra podermos avaliar melhor.

No demais, bem-vindo ao fórum. :)
[]'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!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

vc usa o Blinker ou Rtlink ?
O linker, neste caso, não faz a menor diferença. :)
[]'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!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Maligno escreveu:
vc usa o Blinker ou Rtlink ?
O linker, neste caso, não faz a menor diferença. :)
Pelo o que eu entendi , ele tem duvida de como usar a LIB , talvez não saiba linkar ela no Script dele...veremos...talvez eu esteja errado, ou vc foi alem da imaginação.....
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Craudião
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 01 Out 2007 11:18
Localização: São José dos Campos

Mensagem por Craudião »

realmente é isso.... não consigo linkar ela no script.... no compilar ja aparece o erro.... estou usando uma função para renomear varios arquivos de uma só vez, só q ele tem mais de 8 caracteres... função LF_FRENAME da lib LFN.....ñ sei se consegui ser claro
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

vc usa o Blinker ou Rtlink ?
Post como vc esta fazendo para linkar no seu script.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Craudião
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 01 Out 2007 11:18
Localização: São José dos Campos

Mensagem por Craudião »

peguei algum procedimentos e tentei executar mas não deu certo... não quero postar algo errado... me passe algumas dicas q eu coloco em pratica aqui.... em suma, quero colocar a função dessa nova biblioteca em uso no meu script.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

ou vc foi alem da imaginação.....
Informar uma LIB nesses dois linkers não faz diferença. A sintaxe é a mesma para informar uma biblioteca. Se ele compilar com:

blinker fi teste lib ct52,lfn

OU

rtlink fi teste lib ct52,lfn

OU

blinker @teste.lnk

OU

rtlink @teste.lnk

COM teste.lnk sendo igual a:

FILE teste
LIB ct52p

NOS DOIS linkers dará no mesmo. Por isso, eu repito: o linker não faz diferença. Isso não é da minha imaginação.
[]'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!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

não quero postar algo errado... me passe algumas dicas q eu coloco em pratica aqui...
Se você não disser como está fazendo, vai ficar difícil adivinhar a melhor forma de ajudá-lo. Poste seu script ou linha de comando.
[]'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!
Craudião
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 01 Out 2007 11:18
Localização: São José dos Campos

Mensagem por Craudião »

use ren
index on codigo to icod
go top
a=0
b=0
clear
do while .not. eof()

cod:=rtrim(codigo)+".jpg"
bar:=rtrim(barras)+".jpg"

if bar=" "
skip
loop
endif

if !file("&bar..jpg")

lf_frename("&bar", "&cod")

@ 10,10 say "modificou " + "&bar" + ".jpg " + "para " + "&cod" + ".jpg " + str(a)
a=a+1

else

@ 12,10 Say "Arquivo nao existe" + str(b)
b=b+1

endif

skip

if eof()
exit
endif

loop
enddo
use
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Não. A nossa dúvida é quanto a forma de você compilar. Não é sobre o seu código, já que o erro é de link-time.
[]'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!
Craudião
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 01 Out 2007 11:18
Localização: São José dos Campos

Mensagem por Craudião »

pessoal ...me desculpe a ignorancia... ja fiz alguns programas , mas sempre com a mesma biblioteca default do clipper... hj faço somente algumas rotininhas pra melhorar a performance do meu serviço... então , nunca usei outra biblioteca do clipper...simplesmente faço o prg e compilo com "cl <nome do programa>" ... por isso quero a ajuda para poder usar as outras funções disponiveis das outras LIbs.... não sei nem por onde começar pra usar esse outros recursos.... mais uma vez desculpe a minha ignorancia....
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Ah, então agora tá explicado.
Seguinte: se você ler o tal CL.BAT, vai ver que ele chama o RTLink com apenas um comando FILE. É algo bem simples e nem dá pra usar para algo mais elaborado.
Então, supondo que você continua usando o RTLink, faça um arquivo BAT próprio. Um exemplo simples:

CLIPPER FONTE /<switches>
RTLINK FILE FONTE1,FONTE2,FONTE3,... LIB SUA_LIB1,SUA_LIB2

Onde está <switches> você deve trocar pelos switches que precisa usar no compilador. Se executar CLIPPER sem argumentos, ele te dará uma lista dos switches disponíves. Use o NG pra estudar cada um deles, pra saber pra quê eles servem.
No RTLink são basicamente duas listas, como você pode ver. A primeira é a lista dos seus arquivos PRG (não precisa colocar a extensão). A segunda é a lista de bibliotecas (também não precisa colocar a extensão).

De forma bem simplificada é isso. Mas há ma exceção. Caso queira incluir o debugger CLD, você precisa inserir o swith /b no clipper e informar a biblioteca CLD.LIB (com a extensão) na lista relacionada a FILE. Não entra como LIB.

Faça algumas experiências, testes, etc. até pegar o jeito da coisa. Mas não se esqueça de LER o help do Clipper e do RTLink. Isso evita muita dor-de-cabeça. :)
[]'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!
Craudião
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 01 Out 2007 11:18
Localização: São José dos Campos

Mensagem por Craudião »

deu certinho.... mas na execução do programa ele da o erro "undefined symbol aftyer library search: ft_int86 ft_isbiton clipper520.... lfn.lib... será q é a versão do clipper? tenho aqui a 5.01.... alguem algum link da 5.3 pra me passar?
Responder