Rmk e Rtlink

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Rmk e Rtlink

Mensagem por Josmar dos Santos »

Ola pessoal, vou tentar explicar da melhor maneira possivel..Para vocês que são veteranos deve ser uma baba, mas para mim que sou iniciante e mais difícil.
Vejam bem:

Eu tenho um sistema que tem um executável que se chama ofic.exe..todas as alterações que faço nele eu compilo pelo rmk ..., ou seja rmk ofic.
A pergunta e o seguinte...por que quando eu tento compilar dessa maneira, cl ofic ...ele emite essas mensagens de erros ?
UNDEFINED SYMBOL(S) AFTER LIBRAY SEARCH:
SYMBOL FIRST REFERENCE

´PERGUNTA´ OFIC.OBJ
´COR´ OFIC.OBJ
´MENU´ OFIC.OBJ

warning wrt002: .EXE may not execute properly --undefined symbols

FUNCTION BASE/001 UNDEFINID FUNCTION : PERGUNTA
Essas funções são definidas por mim..exemplo..Function Pergunta

Outra coisa, EU TO QUERENDO COLOCAR UM RELOGIO DIGITAL NESSE SISTEMA. QUANDO EU COLOCO SHOWTIME, E CHAMO RTLINK FI OFIC LIB RELOGIO, ELE EMITE O MESMO ERRO ACIMA. E ALEM DISSO , SEU EU COLOCAR SHOWTIME, ELE EMITE O MESMO ERRO ACIMA...NAO TO ENTENDENTO NADA....
PELO CL E A MESMO COISA. COMPILO E ELE EMITE FUNCAO NAO DEFINIDA SHOWTIME, MAS QUANDO EU FAÇO O LINK, ELE COLOCA O PROGRAMA PARA RODAR, QUAL A DIFERENCA DOS DOIS ?
POR QUE PELO CL DA CERTO E PELO RMK ELE EMITE ESSES ERROS ?
DESCULPE O TRANSTORNO....
OBRIGADO, QUERO APRENDER ESSE LINGUAGEM QUE E ANTIGA, MAS ESTA EM ALTA !
OBRIGADO JOSMAR
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

Se vc utilizou o CL antes deverá excluir todos os arquivos .OBJ e depois sim utilizar o Rmake.
Avatar do usuário
C Leonam
Usuário Nível 1
Usuário Nível 1
Mensagens: 32
Registrado em: 22 Nov 2005 17:40
Localização: Maceió

Mensagem por C Leonam »

Verifique se realmente as funções PERGUNTA, COR e MENU estão dentro do seu OFIC.PRG. Se não estão será necessário chamar o RTLINK como abaixo:

RTLINK FI OFIC, SeuOutroPRG LIB RELOGIO

Ah! Lembre que o RMK tem que referenciar o seu outro PRG.

:xau
Clp52e, Blinker 5.1
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

rmk

Mensagem por Josmar dos Santos »

Ola C leonam
Essas funções que colequei a vista são somente exemplos. Dentro desse sistema há cerca de 33 funções.
Existem funções não só no ofic.prg como também em mais dois aquivos prgs chamados de oficfu1.prg e oficfu2.prg. Agora eu te pergunto..será necessário coloca -las todas no ofic.prg ?
Respondendo a sua pergunta, de fato nenhuma dessas funções estão no aquivo ofic.prg. Ambas estão espalhadas nos dois aquivos oficfu1.prg e oficfu2.prg..OK?
Um abraco..Josmar
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Ola,

O uso do RTLInk é mais ou menos isso aqui:

Clipper PrgPrincial.prg
Clipper Prg2.prg
Clipper Prg3.prg
Clipper PrgP4.prg

RTLink PrgPrincipal.obj, Prg2.obj, Prg3.obj, Prg4.obj LIB Lib1.lib, Lib2.lib

Resumindo: Se você não tiver criado os OBJs com o clipper, não da pra linkar com o RTLink.

O seu caso é o contrario, não está linkando os OBJS junto com o principal e por isso da o erro.


Note que o CL.BAT padrão só compila e linka o primeiro PRG...
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
C Leonam
Usuário Nível 1
Usuário Nível 1
Mensagens: 32
Registrado em: 22 Nov 2005 17:40
Localização: Maceió

Mensagem por C Leonam »

Olá Josmar,

Vamos dar um toque mais prático a sua compilação. Crie um arquivo com o nome OFIC.RMK e coloque dentro dele o que segue abaixo:

Código: Selecionar todos

.PRG.OBJ:
   CLIPPER $*

OFIC.OBJ:OFIC.PRG
OFICFU1.OBJ:OFICFU1.PRG
OFICFU2.OBJ:OFICFU2.PRG

OFIC.EXE :
    RTLINK FI OFIC,OFICFU1,OFICFU2 LIB RELOGIO
Depois, a partir da pasta dos fontes, apague os OFIC*.OBJ e tente o comando RMAKE OFIC.RMK.
Isso ira compilar apenas os PRGs alterados (qdo houver) e gerará o executável.
Espero ter ajudado.

:xau
Clp52e, Blinker 5.1
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Rmk e Rtlink

Mensagem por Josmar dos Santos »

Ola Stanis Luksys e C Leonam
Valeu pela dica, ambas as opçoes deram certas..valeu mesmo. Agradeço nao so voces como todos os outros, valeu ..um abraco..mais para frente eu atormento voces de novo..rs..rs.rs
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Relogio Digital

Mensagem por Josmar dos Santos »

ola caros colegas..blz ..
De fato todas as dicas que me passaram deram certas, mas eu ainda nao entendi uma coisa...
Vejam bem :
Colocando o Rtlink fi ofic, oficfu1, oficfu2, oficfu3....etc...lib relogio...ele coloca o relogio digital sem problema no meu sistema...mas por que ao usar o rmk ofic....ele emite um erro de funcao indefinida do showtime .?
Esse showtime, eu estou colocando no menu principal ofic.prg
Ao colocar o rmk ofic, ele muda o relogio de posicao, porem emite esse erro...mas ao colocar o rtlink com os mesmos acima ele entra no sistema...tem como passar direto...sem emitir esse erro ?
Por que esse erro....por acaso o showtime nao esta no lib relogio...e aproveitando a brecha..como que eu faco para montar um .bat do rtlink ?
Um abraco..josmar
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

rmk rtlink

Mensagem por Josmar dos Santos »

Ola galera, consegui solucionar o problema acima...
Simplesmente o meu aquivo ofic.lnk estava assim,


fi ofic,oficc02,oficfu1
simplesmente eu coloquei
rtlink ofic,oficc02,oficfu1 lib relogio
ai eu consegui. Praticamente sao as mesmas dicas que os colegas me passaram ....era simplesmente uma questao de melhor observacao minha.
obrigado mais uma vez a todos
josmar
Responder