Página 1 de 1
Aujda Blinker
Enviado: 28 Jul 2007 12:38
por marbio
Ola galerinha......
Eu uso o clipper 5.3 com exospace, ja faz uns 3 anos, mas pelo q eu vi ai no forum o BLINKER e muito requisitado.
tenho um sistema HOSPITALAR. q roda ja em 5 hospital aqui perto. da minha cidade.
A minha duvida:
Qual e a versao legal do blinker e como montar o script.
o meu sistema esta assim
tenho
14 arquivos de CLP
o arquivo LNK
menu.lnk
if menu, msgpor, __wait_b.obj
overlay prog
beginarea
section into sistema1 to file 1
section into sistema2 to file 2
.
.
.
section into sistema14 to file 14
endarea
Duvida como passar isso para o blinker
e a onde q encontro para baixar
DESDE JA AGRADECO SUA ATENCAO.....
Re: Aujda Blinker
Enviado: 28 Jul 2007 13:07
por Maligno
marbio escreveu:Qual e a versao legal do blinker e como montar o script.
A última versão é a 7. A melhor. Tenho ela na área "pub" do meu site. Diretório clipper\compilers.
O seu script não é muito diferente do que será necessário. Mas algumas alterações precisam ser feitas. Primeiro: esqueça qualquer coisa relacionada a
overlay. Uma vez usando o modo protegido, o BLinker ignora BEGINAREA/ENDAREA.
Seu script ficaria mais ou menos assim:
Código: Selecionar todos
FILE menu, msgpor, __wait_b.obj
LIBRARY BLXCLP53
BLINKER EXECUTABLE EXTENDED
Existem muitas opções no BLinker. Mas só isso já será suficiente para criar seu EXE no modo protegido. Teste e depois, na dúvida, volte ao assunto. Mas procure ler o help do BLinker e procurar por outras dicas sobre o BLinker na busca do fórum. Esse assunto já foi tratado diversas vezes.
Enviado: 28 Jul 2007 13:11
por Maligno
Um adendo: pra efeito de teste, por exemplo, em linha de comando dará no mesmo se você usar:
Código: Selecionar todos
BLINKER FI menu, msgpor, __wait_b.obj LI BLXCLP53 BLI EXE EXT
Mas, claro. Quando o projeto cresce demais, é sempre aconselhável usar um script.
Enviado: 28 Jul 2007 14:52
por sygecom
Tche, Primeiro como o Maligno falou, use o Blinker 7...baixo no site dele...
Agora eu uso o Blinker em Conjunto com o Rmake. abaixo vou postar o exemplo de como uso:
sistema.lnk
Código: Selecionar todos
Blinker Incremental Off
Blinker Cache EMS 50%,50%
Blinker Cache XMS 50%,50%
Blinker Link EMS ON
Blinker Link XMS ON
Blinker Exec Clipper //Dynf:8 //F:254
Blinker Exec Comp 1
Blinker Exec Exte
Blinker Memo Pack 60
Search BlxRatex
Search BlxClp53
Blinker Incr Pad 256
Blinker Over Page On
Blinker Over Opsi 60
OutPut Nomesis.exe //NOME DO EXE
FILE SISTEMA //MEUS PRG
FILE CADASTRO //MEUS PRG
FILE ESTOQUE //MEUS PRG
FILE FOLHA //MEUS PRG
FILE ROTINA //MEUS PRG
FILE MENUS //MEUS PRG
FILE UTEIS //MEUS PRG
FILE MSGPOR //APENAS TENHO O OBJ
LIB CTP53,CLIPPER,VL2,EXTEND,SYGECOM,DBFCDX,_DBFCDX //LINKANDO AS LIB
sistema.rmk
Código: Selecionar todos
.PRG.OBJ:
clipper $< /M
SISTEMA.OBJ: SISTEMA.PRG
CADASTRO.OBJ: CADASTRO.PRG
ESTOQUE.OBJ: ESTOQUE.PRG
FOLHA.OBJ: FOLHA.PRG
ROTINA.OBJ: ROTINA.PRG
MENUS.OBJ: MENUS.PRG
UTEIS.OBJ: UTEIS.PRG
Obs:Eu uso o Blinker, LIB e clipper dentro da mesma pasta do meu sistema...não uso
PATH para o clipper....veja bem não toh dizendo pra usar como eu uso...uso assim por causa do xharbour...mas pode usar os PATH e linkar suas LIB e INCLUDES sem problemas.
Abraços
Leonardo Machado
Enviado: 28 Jul 2007 16:37
por Maligno
Um conselho de amigo, Marbio: sempre quando for fazer uma troca desse tipo, antes de iniciar a ferramenta com carga total, experimente algo simples primeiro. Porque, se der problema, ficará muito mais fácil de resolver do que ficar procurando o quê, num script gigante, está dando errado. É a valiosa regra do bom senso: código minimalista implica em facilidade nos testes. Depois, quando seu teste inicial der certo, aí sim, acrescente novas características ao seu script. Mas sem se esquecer de ler o help pra saber o quê siginificam e o quê fazem esses vários comandos adicionais.
Enviado: 28 Jul 2007 16:43
por Maligno
Marbio, uma curiosidade: agora que reparei que você usa o objeto __wait_b, provavelmente para resolver o erro R6003. Mas você não mencionou a CATools no seu script. Que eu saiba, esse erro só aparece porque é um bug da CATools e se você não usa, não precisa do __wait_b. Agora, se você usa a CATools e tem problema com esse bug em máquinas rápidas, você poderá dispensar esse objeto apenas atualizando a lib. Tenho o
patch que faz isso na área "pub" do meu site.
Link direto:
http://pub.buzinello.com/clipper/libs/c ... ch_l_3.zip
É só descompactar e gravar no diretório LIB da CATools.
Agradecimento
Enviado: 28 Jul 2007 17:52
por marbio
Ola, turma....
Muito obrigado pela atenção de todos q me ajudaram na minha duvida!!!
foi de muita ajuda, mesmo.
sistema.lnk
beginarea
file menu, 1,2,3,4,5,6,7,8,9,10,11,12,13
endarea
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F250
BLINKER PROCEDURE DEPTH 140
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE EXTENDED
SEARCH BLXCLP53
LIB CLIPPER
LIB EXTEND
LIB DBFNTX
LIB TERMINAL
LIB CTP
output menu.exe
so uma duvida, essa lib tem q jogar dentro do diretorio a onde estao os PRGs BLXCLP53.lib prq quando eu tava compilando dava uma msg de erro ai eu compie ela pra diretorio e deu certo.
eu fique surpreso pelo tamanho do executavel. de 1.400 para 500k vix
nao sei se esta certo mas e isso ai. me corrija se eu estive errado.
Agradeco a vcs amigos.
Enviado: 28 Jul 2007 18:04
por Maligno
Jamais coloco arquivo de um programa dentro do diretório de outro programa. Isso vira uma salada, sem a menor necessidade. No presente caso, a única coisa que você precisa fazer é dizer ao linker onde estão as bibliotecas. Isso é muito fácil através de uma variável de ambiente própria para isso. Veja:
SET INCLUDE=?
SET LIB=?
SET OBJ=?
A interrogação deve ser substituída pelo diretório onde serão encontrados os arquivos desses tipos. O primeiro, INCLUDE, serve para o clipper. Os dois últimos são utilizados pelo linker. Em suma: utilizando os recursos que o software mesmo dispõe, você não precisa copiar arquivos de um programa para o diretório de outro. E tudo continuará bem organizado. Portante, faça o teste: inclua no seu AUTOEXEC ou mesmo na linha de comando, execute o segundo comando para dizer ao linker onde encontar a biblioteca. Tente compilar e, se você fizer certo, não dará erro algum.
