Página 1 de 2

Gerando Relatorio lento para impressão

Enviado: 20 Jun 2011 14:29
por Ricardo Sales Ribeiro
Olá Amigos
Boa tarde!

Estou com um probleminha: Tenho um sistema q roda em Rede, ele fica no servidor, e nas estações eu mando gerar um determinado
relatorio, para ser impresso pelo Prwin39, numa impressora Lx300 q tb estar conectada no servidor Ok.

Qdo eu gero esse relatorio no servidor, como a base estar no servidor, o relatorio é gerado e impresso rapidamente, mas qdo estou no
terminal, e tb tem usuario utilizando o mesmo banco, a geração fica muito demorada, chega a irritar e não libera para impressão.

Já depois de gerado, o relatorio pelo Prwim é impresso rapidinho.

Eu preciso trabalhar com tres (3) estações e um Servidor, gerando comandas e imprimimdo automaticamente na Lx-300, mas a demora
na geração do relatorio nas estações é gde.

Gostaria de uma ajuda.

Tirei até a Rotina de impressão do sistema e criei um programa só para gerar e imprimir as comandas, para vê se ficava mais rápido,
mas até agora nada.

Vou postar o meu prg para vcs analizarem e ve se eu estou errando em alguma coisa.
Estou usando Windows XP
Clliper 5.2
RTlink

Código: Selecionar todos

**************************************************************************************************************************************
Use CadTab Inde CadTabCd                                                                                        Shared alias a_CadTab New
Use CadEqu Inde CadEquCd,CadEquDe                                                                         Shared alias a_CadEqu New
Use EstEqu Inde EstEquCd,EstEquDm,EstEquCo,EstEquCb,EstEquCe,EstEquDt,EstEquTm Shared alias a_EstEqu New
Use MovEst Inde MovEstCd,MovEstDm,MovEstCo,MovEstCb,MovEstCe,MovEstSq           Shared alias a_MovEst New
Use CadMat Inde CadMatCd,CadMatNo,cadMatIr,CadMatSt,CadMatTp                           Shared alias a_CadMat New
Select a_EstEqu
Set Orde To 7
Do while .t.
   Mensagem('Tecle [ESC] para Retornar...')
   Set Curs On
   Save Scre To mSgEstEqu
   Set Colo To /bg
   @ 03,03 Clear To 19,76
   Select a_MovEst
   Set Orde To 6
   Go Botto
   wCodSeq:=CodSeq
   wCodEqu:=CodEqu
   wDatEnt:=DatEnt
   Go Top
   Set Orde To
   Set Colo To w+/bg
   @ 04,04 Say 'Codigo Seq.:'
   @ 06,04 Say 'Codigo Equ.:'
   Set Colo To &C_CorGet
   @ 04,17 Get wCodSeq Pict '999999'
   @ 06,17 Get wCodEqu Pict '99'
   Read
   Clea Gets
   If LastKey() = 27
      DbCloseAll()
      Rest Scre From SgImpSai
      Quit
   Endif
   Select a_CadEqu
   Set Orde To 1
   DbSeek(wCodEqu)
   If Eof()
      Som()
      Mensagem('Equipe NÆo Cadastrada...Tecle [ENTER]')
      Set Curs Off
      Inkey(0)
      Rest Scre From SgImpSai
      Loop
   Endif
   wDesEqu:=DesEqu
   Select a_MovEst
   Go Top
   wBak='ArqTem'+Substr(Time(),07,02)+'.Dbf'
   Copy To &wBak For wCodEqu = CodEqu .and. wCodSeq = CodSeq
   Use &wBak Exclusive Alias a_Bak New
   Select a_Bak
   Go Top
   If Eof()
      Som()
      Mensagem('Arquivo Vazio... Tecle [ENTER]')
      Set Curs Off
      Inkey(0)
      DbCloseArea()
      Erase('&wBak')
      Select a_EstEqu
      Rest Scre From SgImpSai
      Loop
   Endif
   wCt:=0
   Count To wCt
   Go Top
   wConf:='.'
   Do while !wConf$' ,C'
      wConf:=' '
      Set Inte Off
      Mensagem('Tecle (C)ancelar ou [ENTER] Continua...')
      Set Colo To w+/r
      @ 23,42 Get wConf Pict '@!'
      Read
      Mensagem('')
      Set Inte On
      Set Colo To
      Clea Gets
   Enddo
   If wConf # ' '
      Mensagem('LISTAGEM ABORTADA...')
      Set Curs Off
      Inkey(1)
      Som()
      Quit
   Endif
   Set Curs Off
   Set Colo To
   If !Isprinter()
      Som()
      Mensagem('Ligue Impressora...')
      Inkey(1)
      Set Colo To
   Endif
   If !Isprinter()
      Som()
      Mensagem('LISTAGEM ABORTADA...')
      Quit
   Endif
   Mensagem('Aguarde! Imprimindo Requisi‡„o Material...')
   Set Curs Off
   wBak1='ArqTem'+Substr(Time(),07,02)+'.Prn'
   Set Devi To Prin
   Set Printer To C:\Suporte\&wBak1
   @ Prow(),00 Say Chr(27)+"P"+Chr(15)
   wCont:=2
   wCt:=1
   Do while wCt <= wCont
      @ Prow()  ,000 Say ' '
      @ Prow()+1,001 Say wEmp
      @ Prow()  ,105 Say 'Nro. da Saida .... :'
      @ Prow()  ,131 Say wCodSeq
      @ Prow()+1,001 Say 'Codigo da Equipe ..:'
      @ Prow()  ,021 Say wCodEqu Pict '99'
      @ Prow()  ,022 Say '-'
      @ Prow()  ,023 Say wDesEqu
      @ Prow()  ,105 Say 'Emissao ...........:'
      @ Prow()  ,127 Say wDatEnt
      @ Prow()+1,001 Say Replicate('-',136)
      @ Prow()+1,001 Say 'No.'
      @ Prow()  ,005 Say 'Codigo'
      @ Prow()  ,021 Say 'Descricao Material'
      @ Prow()  ,083 Say 'Ird'
      @ Prow()  ,105 Say 'Qtde'
      @ Prow()  ,132 Say 'Custo'
      @ Prow()+1,001 Say Replicate('-',136)
      wl:=1
      wi:=0
      wc:=5
      Do while !Eof()
         wi:=wi+1
         @ Prow()+wl,001 Say wi      Pict '999'
         @ Prow()   ,005 Say CodMat
         @ Prow()   ,021 Say DesMat
         @ Prow()   ,083 Say CodBar
         @ Prow()   ,105 Say EstAtu  Pict '9999'
         @ Prow()   ,129 Say CusMat  Pict '@e 9,999.99'
         wc:=wc+1
         DbSkip()
      Enddo
      wl:=28-wc
      @ Prow()+wl,001 Say Replicate('-',30)
      @ Prow()+01,006 Say 'Assinatura Tecnico'
      @ Prow()+05,000 Say ''
      wCt:=wCt+1
      Go Top
   Enddo
   Exit
EndDo
@ Prow(),00 Say Chr(27)+"P"+Chr(18)
Set Print Off
Set Console On
Set Print To
Set Devi To Scre
DbCloseAll()
Rest Scre From SgImpSai
Quit
Atenciosamente

Gerando Relatorio lento para impressão

Enviado: 28 Jun 2011 16:31
por rochinha
Amiguinho,

Uma sugestão:

Já que voce criou um pequeno aplicativo só para imprimir. deixe o rodando no servidor, coloque um laço de verificação que de tempos em tempos veja a existencia dos arquivos para impressão(sequenciais de preferencia), imprima-os e elimine depois.

Seus aplicativos remotos terao apenas que gerar o conteudo das comandas em arquivo e salva-las na pasta visualizada.

O seu pequeno spool fará o resto.

A demora existente hoje fica por conta de que voce abre um aplicativo pesado apenas para esta tarefa.

Dinamize e obtenha produtividade.

Gerando Relatorio lento para impressão

Enviado: 05 Jul 2011 12:29
por Ricardo Sales Ribeiro
Gde parceiro Rochinha
Agradeço a sua sugestão, estar me abrindo as ideias, mas vou lhe dizer como funciona hj.
Tenho um aplicativo q funciona em tres estações de trabalho ou quatro, gerando as comandas, q são gravadas
num unico e geral arquivos de comandas, os itens, todos juntos, identificados pelos registros individuais e sequencias de cada comanda.
Seguindo a sua sugestão, posso fazer com q esse programa grave neste arquivo unico e tb ao mesmo tempo
gere um pequeno arquivo, individual, temporario, identificado pelo numero da comanda tipo, 000001.dbf, 000002.dbf, para efeito de ser lido e impresso somente ele.
Inclusive esses pequenos arquivos posso gerar numa pasta determinada no servidor, e de lá ser impresso ok.
Com base na sua sugestão, eu teria q ficar monitorando esta pasta e esses arquivos seguencialmente para que
possam ser impressos e eliminados em seguida, correto?
Agora até aqui sei fazer, não tem nada de complicado.
Agora não sei fazer com q meu programa fique rodando na memoria e verificando de tempos em tempos se tem arquivos para serem impressos. Como fazer isso, vc pode me ajudar.
Eu trabalho muito com o Prwin.3.9, comprei essa ferramenta a algum tempo, gosto muito dela, vc deve conhecer, principalmente qdo eu não conseguia imprimir via porta usb, esse programinha resolveu o meu problema.
Inclusive o meu sistema agora gera a comanda num arquivo .prn e o prwin se encarrega de imprimir em qualquer
impressora q eu defina, muito bom.
Agora confeço q não sei como ficar gerenciando essa pasta e ir pegando cada arquivo e imprimindo, sem a intervenção da mão humana.

Desde já agradeço
Ricardo Sales Ribeiro

Gerando Relatorio lento para impressão

Enviado: 06 Jul 2011 16:16
por Jairo Maia
Olá Ricardo,

Vc está compilando com o RtLink, o que por si só faz um uso grande de memória (convencional), e é associado ao alto uso de CPU pertinente ao Clipper.

Quando vc acessa um relatório, o uso de memória vai a exaustão, e dependendo da situação pode abortar o aplicativo. Este não está sendo seu caso, mas a lentidão na minha opinião, está ocorrendo por essa razão. Acho que vc deveria considerar o fato de passar a compilar com Blinker, que alivia a memória convencional significativamente.

Outra questão: Vc está compilando o arquivo TIMESLIC.OBJ com seu programa? Este arquivo reduz o uso de CPU, o que já alivia bastante.

Gerando Relatorio lento para impressão

Enviado: 06 Jul 2011 17:17
por Ricardo Sales Ribeiro
Amigo Jairo
Boa tarde

Eu estou sim compilando com o RTLink e não sabia q consumia tanta memoria, de repente o meu problema seja isso mesmo, outra coisa eu já compilo tb com o TimesLic.obj e sabia q ele gerenciava a memoria, e tb uso o Tame 5.0 q tb gerencia muito bem a memoria, eu ainda não usei foi o Blinker para compilar, nunca usei e não sei como usar, vc poderia me ajudar a montar esse bat para compilação?
Meu bat hj é assim:
Path C:\Util;C:\Cliper52\Bin;C:\Cliper52\Lib;C:\
Set Bin=C:\Cliper52\Bin
Set Lib=C:\Cliper52\Lib
Set Include=C:\Cliper52\INCLUDE
Clipper @SISFIN00 -b
Clipper @SISFIN01 -b
Clipper @SISFIN02 -b
Clipper @SISFIN03 -b
Clipper @SISFIN04 -b
Clipper @SISFIN05 -b
Clipper @SISFIN51 -b
Clipper @SisFin52 -b
Clipper @SISFIN06 -b
Clipper @SISFIN61 -b
Clipper @SISFIN07 -b
Clipper @SISFIN08 -b
Clipper @SISFIN09 -b
Clipper @SisFin10 -b
Clipper @SisFi101 -b
Clipper @SisFi102 -b
Clipper @SisFin11 -b
Clipper @SISFIN12 -b
Clipper @SISFIN13 -b
Clipper @SisFin14 -b
Clipper @SisFin15 -b
RTLink @SisFin
Cd\TecnoSteam\Dados
Copy C:\TecnoSteam\Fontes\SisFin.Exe SisNew.Exe

e SisFin.Lnk assim:
Lib C:\Cliper52\Lib\Clipper,C:\Cliper52\Lib\Extend,C:\Cliper52\Lib\Terminal,C:\Cliper52\Lib\DbfNtx,C:\Cliper52\Lib\Funcky15,C:\Cliper52\Lib\Ct
FI SisFin00,
SisFin01,
SisFin02,
SisFin03,
SisFin04,
SisFin05,
SisFin51,
SisFin52,
SisFin06,
SisFin61,
SisFin07,
SisFin08,
SisFin09,
SisFin10,
SisFi101,
SisFi102,
SisFin11,
SisFin12,
SisFin13,
SisFin14,
SisFin15,
Timeslice Out SisFin

Eu nunca compilei com BLinker, por favor me ajude a gerar meu sistema com o BLinler, eu agradeço desde já.

Acredito q vá melhorar e muito o desenpenho do meu sistema.
Estar me complicando, hj como estar, porque os terminais geram as comandas, e os funcionarios tem q se deslocar até o servidor para poder executar a rotina de imporessão, já q dos terminais demoram muito.

Gde abraço
Fico no aguardo

Gerando Relatorio lento para impressão

Enviado: 06 Jul 2011 22:51
por rochinha
Amiguinho,

Se minha memória não falha o PRWin faz uma varredura de tempos em tempos, certo?

Quanto ao seu .LNK veja um exemplo:

Código: Selecionar todos

// BLINKER DEMONSTRATION DATA 2004/03/12
// BLINKER DEMONSTRATION MINUTES 30
BLINKER OVERLAY THRESHOLD 256
BLINKER OVERLAY UMB OFF
BLINKER CACHE XMS 50%,1024
BLINKER CACHE EMS 50%,1024
BLINKER INCREMENTAL OFF

PACKCODE
PACKDATA

DEFBEGIN
   name        SisFin
   description 'Sistema Financeiro'
   code        moveable discardable preload
   data        preload moveable
   stacksize   9500
   heapsize    1024
   segment     'PLANKTON_TEXT' nondiscardable
   segment     'EXTEND_TEXT'   nondiscardable
   segment     'OM_TEXT'       nondiscardable
   segment     'OSMEM_TEXT'    nondiscardable
   segment     'SORTOF_TEXT'   nondiscardable
   segment     'STACK_TEXT'    nondiscardable
DEFEND
LIB C:\Cliper52\Lib\Clipper,C:\Cliper52\Lib\Extend,C:\Cliper52\Lib\Terminal,C:\Cliper52\Lib\DbfNtx,C:\Cliper52\Lib\Funcky15,C:\Cliper52\Lib\Ct
FILE SisFin00,SisFin01,SisFin02,SisFin03,SisFin04,SisFin05,SisFin51
FILE SisFin52,SisFin06,SisFin61,SisFin07,SisFin08,SisFin09,SisFin10
FILE SisFi101,SisFi102,SisFin11,SisFin12,SisFin13,SisFin14,SisFin15
FILE Timeslice
SEARCH BLXCLP52 // Caso use Clipper 5.2
OUTPUT SisFin
O esquema acima usei em minha aplicação Clipper 5.2 por anos e o consumo de memória era infimo, e a memória liberada para uso do sistema chegava 16Mega, o mesmo que conseguido com EXOSpace.

O bloco com comandos BLINKER blablabla voce pode eliminar se necessário.

As melhores versões do Blinker são acima do 4.0.

Gerando Relatorio lento para impressão

Enviado: 07 Jul 2011 12:58
por Jairo Maia
Olá Ricardo,

Pelas últimas informações que vc deu, estou achando que pode não ser memória o único problema. Mas como vc decidiu compilar em Blinker, vamos em frente, vc só tem a ganhar, e pode ser que resolva o Problema.

Mesmo assim, não descarte a possibilidade de usar a opinião anterior do Rochinha, não entenda que eu tenha feito esta sugestão de forma a descartar a opinião do colega.

Tive poucos problemas com lentidão em rede, e sempre acontecia quando se substituia alguma máquina ou HD de alguma, e foram resolvidos remanejando máquinas. Tenha em mente também, que o servidor deve ser sempre a máquina mais rápida, ou a que tenha o HD mais rápido. Uma máquina p.ex. com HD de 7200 rpm acessando um HD mais lento também gera lentidão.

Por segurança, vou apenas lembrar que vc faça cópia do seu arquivo bat e do lnk antes de implementar estas sugestões.

1- Copie e salve o arquivo bat que estou sugerindo
2- Copie e salve o arquivo SISFIN.LNK que o Rochinha postou
3- Copie e salve o arquivo SISFIN.RMK que postei
4- Digite SISFIN se foi assim que vc salvou o arquivo bat

Note que vc deve alterar Timeslice Para Timeslic no arquivo SISFIN.LNK, acho que houve erro na sua postagem. Faça os testes, e veja se vai dar tudo certo.

Arquivo SISFIN.BAT

Código: Selecionar todos

@echo off

Path C:\Util;C:\Blinker\Bin;C:\Clipper52\Bin;C:\

Set Lib=C:\Blinker\Lib;C:\Cliper52\Lib
Set Obj=C:\Blinker\Obj;C:\Cliper52\Obj
Set Include=C:\Cliper52\INCLUDE

RMAKE SISFIN.RMK
If errorlevel 1 goto fim

Cd\TecnoSteam\Dados
Copy C:\TecnoSteam\Fontes\SisFin.Exe SisNew.Exe

:fim
Arquivo SISFIN.RMK

Código: Selecionar todos

.PRG.OBJ:
     CLIPPER $** /m
SISFIN00.OBJ : SISFIN00.PRG
SISFIN01.OBJ : SISFIN01.PRG
SISFIN02.OBJ : SISFIN02.PRG
SISFIN03.OBJ : SISFIN03.PRG
SISFIN04.OBJ : SISFIN04.PRG
SISFIN05.OBJ : SISFIN05.PRG
SISFIN51.OBJ : SISFIN51.PRG
SisFin52.OBJ : SisFin52.PRG
SISFIN06.OBJ : SISFIN06.PRG
SISFIN61.OBJ : SISFIN61.PRG
SISFIN07.OBJ : SISFIN07.PRG
SISFIN08.OBJ : SISFIN08.PRG
SISFIN09.OBJ : SISFIN09.PRG
SisFin10.OBJ : SisFin10.PRG
SisFi101.OBJ : SisFi101.PRG
SisFi102.OBJ : SisFi102.PRG
SisFin11.OBJ : SisFin11.PRG
SISFIN12.OBJ : SISFIN12.PRG
SISFIN13.OBJ : SISFIN13.PRG
SisFin14.OBJ : SisFin14.PRG
SisFin15.OBJ : SisFin15.PRG
SISFIN.EXE:
     BLINKER @SISFIN.LNK

Gerando Relatorio lento para impressão

Enviado: 07 Jul 2011 13:49
por Jairo Maia
Olá Rochinha,

Abri nova mensagem, pq se vc entender que este assunto não tem relação com o tópico e excluí-la, sem problema, vou entender.

Fiquei muito curioso com o script que vc postou, quanto ao módulo que vc criou DEFBEGIN/DEFEND. Eu gostaria se vc pudesse dispensar algum tempo para me esclarecer o siginficado dele, bem como me dizer se este script compila em modo Extendido (protegido).

Vi que vc não usou o comando BLINKER EXECUTABLE EXTEND, mas vc incluiu a lib BLXCLP52, que só é usada no modo protegido. Ficaria muito grato se vc pudesse esclarecer.

Outrossim, se for modo protegido, a lib BLXCLP52 deve necessariamente ser colocada antes que invoque a primeira lib. A função dela é interceptar as libs em modo real que façam alusão a acesso direto de memória, uma vez que em modo protegido quem aloca a memória é o sistema operacional, assim, não pode haver alocação direta, isto gera erro GPF (General Protection Fault).

Se esta lib não for colocada antes de chamar a primeira lib em modo real (não sei se alguma que ele usa é modo real, ou se todas são Dual), ela não terá efeito, apenas impede a mensagem de ausência das funções com este objetivo em modo extendido.

Ainda existe a BLXRATEX, que deve ser usada se alguma lib tiver sido linkada no modo extendido em modo EXOSPACE. Quando necessário o uso desta, ela deve ser declarada antes da BLXCLP5x.

Um grande Abraço.

Gerando Relatorio lento para impressão

Enviado: 07 Jul 2011 19:00
por rochinha
Amiguinho,

No meu .LNK estavam presentes chamadas a outras biblitecas como NANFOR, FAST, OSLIB, etc, e talvez por isto(não lembro e não uso mais) usava a BLXCLP52.

O posicionamento dela no final não desfazia o efeito de outras libs mas as vezes, poucas, eu tinha de mudar a posição dela para compilar.

O conjunto DEFBEGIN/DEFEND eu passei a usar mais ou menos em meados de 95 quando passei a testar e converter meu sistema para Fivewin 4 Clipper.

O DEFBEGIN/DEFEND permitia incluir já no .LNK o conteúdo de uma arquivo externo .DEF usado pelo Blinker.

O ajuste em stacksize e heapsize diminuiam os problemas na execução do sistema que já estava com quase 3Megas.

Gerando Relatorio lento para impressão

Enviado: 08 Jul 2011 16:37
por Ricardo Sales Ribeiro
Olá Galera
Boa Tarde

Peguei todas as informações e estou fazendo as mudanças no meu sistema, assim q estiver testado eu posto aqui os resultados, espero sinceramente q eu consiga resolver meu problema de lentidão na geração e impressão das minhas comandas.

Agradeço as colaborações.

Gerando Relatorio lento para impressão

Enviado: 11 Jul 2011 12:46
por Ricardo Sales Ribeiro
Caros amigos

Estou de volta, ainda não deu certo, deu erro na compilação.

Criei o Sisfin.Bat, o Sisfin.Rmk e o Sisfin.Lnk conforme ajuda de vcs, entretanto estar dando um erro fatal:

RMAKER 1.4 Copyright .....
SISFIN.RMK(2) Fatal RMAKE/R3012 sintax error : ´/m´

Tirei essa Linha de comando ou seja $** /m

mas continua dando erro

Segue os arquivos para sua avaliação.

SisFin.Bat
@echo off

Path C:\Util;C:\Blinker\Lib;C:\Cliper52\Bin;C:\Cliper52\Bin;C:\
Set Lib=C:\Blinker\Lib;C:\Cliper52\Lib
Set Obj=C:\Blinker\Obj;C:\Cliper52\Obj
Set Include=C:\Cliper52\INCLUDE

RMAKE SISFIN.RMK
If errorlevel 1 goto fim

Cd\Artecnica\Dados
Copy C:\Artecnica\Fontes\SisFin.Exe SisNew.Exe

:fim



SisFin.Rmk

.PRG.OBJ:
Clipper $** /m

SisFin00.Obj : SisFin00.Prg
SisFin01.Obj : SisFin01.Prg
SisFin02.Obj : SisFin02.Prg
SisFin03.Obj : SisFin03.Prg
SisFin04.Obj : SisFin04.Prg
SisFin05.Obj : SisFin05.Prg
SisFin51.Obj : SisFin51.Prg
SisFin52.Obj : SisFin52.Prg
SisFin06.Obj : SisFin06.Prg
SisFin61.Obj : SisFin61.Prg
SisFin07.Obj : SisFin07.Prg
SisFin08.Obj : SisFin08.Prg
SisFin09.Obj : SisFin09.Prg
SisFin10.Obj : SisFin10.Prg
SisFi101.Obj : SisFi101.Prg
SisFin11.Obj : SisFin11.Prg
SisFin12.Obj : SisFin12.Prg
SisFin13.Obj : SisFin13.Prg
SisFin14.Obj : SisFin14.Prg
SisFin15.Obj : SisFin15.Prg
SisFin.Exe:
Blinker @SisFin.Lnk

SisFin.Lnk

// BLINKER DEMONSTRATION DATA 2004/03/12
// BLINKER DEMONSTRATION MINUTES 30
BLINKER OVERLAY THRESHOLD 256
BLINKER OVERLAY UMB OFF
BLINKER CACHE XMS 50%,1024
BLINKER CACHE EMS 50%,1024
BLINKER INCREMENTAL OFF

PACKCODE
PACKDATA

DEFBEGIN
name SisFin
description 'Sistema Financeiro'
code moveable discardable preload
data preload moveable
stacksize 9500
heapsize 1024
segment 'PLANKTON_TEXT' nondiscardable
segment 'EXTEND_TEXT' nondiscardable
segment 'OM_TEXT' nondiscardable
segment 'OSMEM_TEXT' nondiscardable
segment 'SORTOF_TEXT' nondiscardable
segment 'STACK_TEXT' nondiscardable
DEFEND
LIB C:\Cliper52\Lib\Clipper,C:\Cliper52\Lib\Extend,C:\Cliper52\Lib\Terminal,C:\Cliper52\Lib\DbfNtx,C:\Cliper52\Lib\Funcky15,C:\Cliper52\Lib\Ct
FILE SisFin00,SisFin01,SisFin02,SisFin03,SisFin04,SisFin05,SisFin51
FILE SisFin52,SisFin06,SisFin61,SisFin07,SisFin08,SisFin09,SisFin10
FILE SisFi101,SisFi102,SisFin11,SisFin12,SisFin13,SisFin14,SisFin15
FILE Timeslic
SEARCH BLXCLP52 // Caso use Clipper 5.2
OUTPUT SisFin


Detalhe eu baixei uma versão do Blinker como versão 7

Aguardo uma ajuda para eu conseguir complilar meu sistema usando o Blinker.

Desde já agradeço.

Gerando Relatorio lento para impressão

Enviado: 11 Jul 2011 14:00
por Jairo Maia
Olá Ricardo,

É que vc não usou a tag Code, mas acredito que em seu SISFIN.RMK está exatamente como vc postou. Assim:

Código: Selecionar todos

.PRG.OBJ:
Clipper $** /m
A linha 2 do exemplo acima, está errada. Coloque pelo menos um espaço no inicio da linha 2 e tente novamente.

Aproveite também, e altere seu arquivo SISFIN.LNK, colocando a lib SEARCH BLXCLP52, imediatamente abaixo da linha DEFEND, e troque a lib CT na sua linha de Libs por CTP. Este script é em modo protegido.

Faça os teste, e se houver algum erro, é só dizer.

Em Tempo:
Colega Rochinha, obrigado por seus esclarecimentos quanto as minhas dúvidas. Valeu.

Gerando Relatorio lento para impressão

Enviado: 11 Jul 2011 18:53
por Ricardo Sales Ribeiro
Amigo Jairo
Boa Noite


Continua dando erro, agora estar dizendo q sisfin01.prg não existe.
Na realidade não existe, qdo eu compilava antigamente, eu usava o seguinte:

SisFin01.clp
Prog01.prg
Prog02.prg
Prog03.prg


SisFin02.Clp
Prog04.Prg
Prog05.Prg
Prog06.Prg

Aí eu chamava ós clp e já chamava automaticamente os Prg´s

Não estou entendo como funciona o Rmake
Devo ter misturado tudo.

Por favor me ajude aí, preciso compilar com Blinker e Rmake.

Atenciosamente.

Gerando Relatorio lento para impressão

Enviado: 12 Jul 2011 09:21
por Jairo Maia
Olá Ricardo,

Entendi. Mas então faça o seguinte: No arquivo .RMK, vc deve colocar todos os arquivos .PRG que façam parte do seu projeto, assim:

Código: Selecionar todos

.PRG.OBJ:
     CLIPPER $** /m
PROG01.OBJ : PROG01.PRG
PROG02.OBJ : PROG02.PRG
PROG03.OBJ : Coloque os demais no mesmo formato...

SISFIN.EXE:
     BLINKER @SISFIN.LNK
No arquivo .LNK, vc deve colocar todos arquivos .OBJ que serão linkados em seu projeto.

Tente montar. Se houver dúvida para montar, faça o seguinte: vá para o prompt de comando (CMD), e disgite:

Código: Selecionar todos

DIR *.PRG /B > DADOS.TXT
Edite o arquivo DADOS.TXT, e se houver algum .PRG que não será linkado no projeto, remova. Deixe somente os .PRG que fazem parte do projeto. Então, anexe este arquivo que eu monto os scripts para vc. Depois, basta vc adaptar para outros projetos.

Gerando Relatorio lento para impressão

Enviado: 12 Jul 2011 11:10
por Ricardo Sales Ribeiro
Bom Dia!
Amigo Jairo


Vou fazer sim como vc estar sugerindo, e desta vez acredito q vá dar certo, deve ser só detalhes mesmo, é a primeira vez q uso.


Obrigado