Página 1 de 1

memory low

Enviado: 24 Fev 2006 18:20
por fbsclipper
Caros companheiros

Estou enfrentando um problema que acredito que muitos de vocês já tiveram usando clipper "memory low".

Trabalho com o clipper 5.x e o sistema que desenvolvi sempre funcionou bem em DOS num ambiente monousuário.

No entanto, de um tempo pra cá necessitei adaptá-lo para um ambiente multiusuário. Para isso passei a trabalhar com WIN95/WIN98 e reestruturei todo o sistema para funcionar em rede.

Desde de então quando na execução do programa, em alguns módulos onde vários arquivos são abertos simultaneamente o erro "memory low" ocorre.

AUTOEXEC.BAT hoje:
SET CLIPPER=F200

CONFIG.SYS hoje:
FILES=200
BUFFERS=25

Alguém tem alguma sugestão do que possa ser feito?

Obrigado pela atenção!!!

Enviado: 01 Mar 2006 16:02
por fbsclipper
Trabalho com o clipper 5.2 e depois de postar a mensagem anterior realizei alguns testes alterando os arquivos autoexec e config para:

AUTOEXEC.BAT:
SET CLIPPER=F120

CONFIG.SYS hoje:
FILES=120
BUFFERS=10

Depois destas alterações o problema de memory low praticamente não aconteceu mais, ocorrendo em situações específicas o erro "MEMORY EXAUSTED ERROR 5302"... Alguém pode me ajudar sobre isso?

Obrigado

Enviado: 01 Mar 2006 16:59
por Alessandro
Caro Colega

Você linka com o que seu sistema?

Pesquise no forum sobre o blinker, com certeza vc irá resolver seus problemas.

Valeu

Enviado: 02 Mar 2006 14:29
por acelconsultoria
Depende de qual linkeditor vc usa. O RTLINK não possui bons recursos quanto ao tratamento de memória.

Eu utilizo o Blinker 7.0 no lugar do RTLINK. O Blinker já possui recursos mais avançados, e vc nem precisa mais se preocupar em ficar configurando o AUTOEXEC ou o CONFIG.

Se vc quiser baixar o Blinker 7.0: www.escape.com.br/util/blinker7.exe

Ao invés de linkar seu programa com RTLINK FI meuprograma
Vc vai usar: BLINKER FI meuprograma

Agora, se vc quiser fazer algo melhor, vc pode criar um arquivo .LNK, onde os parâmetros de uso de memória, arquivos abertos, etc são controlados pelo BLINKER, e com isso vc elimina o trabalho de configurar sempre o AUTOEXEC e o CONFIG.


Crie um arquivo "meuprg.lnk", por exemplo, contendo o seguinte:


BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE EXTENDED
BLINKER HOST DPMI ON
BLINKER HOST VCPI ON
BLINKER HOST XMS ON
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE CLIPPER F225
FILE meuprg1, meuprg2

OutPut MEUPRG.EXE


onde, "meuprg1..." é o nome dos seus fontes .PRG, e MEUPRG.EXE é o nome do executável a ser gerado.

Com isso, para compilar e linkar, vc usa os seguintes comandos:

CLIPPER MEUPRG
BLINKER FI @MEUPRG

Vc notará que o arquivo executável do sistema possuirá um tamanho menor, o sistema também rodará com melhor performance e adeus problemas de memória.

Abraços.

memory low

Enviado: 20 Jul 2011 21:54
por JSystem
Olá Pessoal,

Trabalho com clipper há muitos anos e toda vida utilizei o Rtlink, nunca havia tido problemas.
Agora estou desenvolvendo o sped fiscal e os fontes são maiores, e agora sim, estou tendo problemas na execução com o seguinte erro:
Unrecoverable erro 5302: conventional memory exhausted
Utilizo o windows XP.
Neste tópico fala sobre o Blinker 7 e achei interessante, gostaria, por gentileza, que alguém me enviasse, procurei na net e não encontrei, o link citado pelo colega acima nao funcionou.

Desde já agradeço

memory low

Enviado: 21 Jul 2011 00:02
por acelconsultoria
Dando uma pesquisadinha no 4shared, eu achei o blinker 7.0... Mas se preferir, posso lhe enviar por e-mail. Mande um e-mail para: maickonsato@hotmail.com que eu respondo com o blinker 7.0 em anexo.

Obs.: Não sou expert no uso do Blinker. A postagem nas mensagens anteriores foram apenas uma colagem do meu script de linkagem que atualmente funciona perfeitamente.

Abraços.

memory low

Enviado: 08 Nov 2011 12:42
por Gilberto M Silva
Olá Pessoal,
Como faço para linkar meus prgs utilizando o blinker? atualmente uso o Rtlink com um arquivo c.bat:
@ECHO OFF
SET INCLUDE=C:\UTIL\CLIPPER5\INCLUDE;
SET LIB=C:\UTIL\CLIPPER5\LIB;
SET OBJ=C:\UTIL\CLIPPER5\OBJ;
SET C:\UTIL\CLIPPER5\BIN\CLIPPER=F140;
C:\UTIL\CLIPPER5\BIN\CLIPPER ESTOQUE
C:\UTIL\CLIPPER5\BIN\RTLINK FI ESTOQUE,C:\UTIL\CLIPPER5\OBJ\TIMESLIC.OBJ LI DBFCDX LI CT52 LI LFN LI NANFOR LI CPMI LI LL LI MD5
ESTOQUE
DEL *.BAK
DEL *.OBJ
ECHO ON
Att.

memory low

Enviado: 08 Nov 2011 19:08
por billy1943
Ao Gilberto:

- para compilar e linkeditar usando o BLinker você precisará da seguinte estrutura:

a) arquivos .CLP que conterão os nomes dos .PRG a serem incluídos no sistema

b) um .BAT geral que vai chamar a compilação pelo Clipper e linkedição pelo Blinker
pelos .CLPs que no caso abaixo são: est000, est100, est200
que poderá ser quase identico ao seu c.Bat
DICA: compilar algum módulo somente, basta deletar o .OBJ correspondente
*********************************************************************************
cls
if not exist est000.obj clipper @est000 %1
if not exist est100.obj clipper @est100 %1
if not exist est200.obj clipper @outros1 %1
del estoque.exe
c:\blinker\bin\blinker @estoque2
***************************************************

c) um arquivo .LNK que no exemplo será o ESTOQUE2.LNK que terá todas as suas especificações para o Blinker
***********************************************************************************
BLINKER EXECUTABLE EXTENDED
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F:255;SWAPPATHC:\SWP;
BLINKER EXECUTABLE COMPRESS 1
OUTPUT estoque.EXE
map s,a,x
FILE est000
BEGINAREA
FILE est100
FILE est200
search d:\blinker\lib\blxclp52
LIBRARY oslib,super35,fast,apistd,ptool52,nanfor,blnet,lfn,ll,cpmi
ENDAREA
@CL520max.LNK

O resultado será o executável ESTOQUE.EXE linkeditado com os .OBJ = est000, est100 e est200
Se na compilação algo der errado o .OBJ respectivo não será gerado e será preciso corrigir o fonte em .PRG
Se quiser uma versão com a LIB CLD para "debugar" o sistema, inclua-a em LIBRARY e coloque o parametro /B quando chamar o .BAT
Na versão operacional não incluir o parametro /B e nem usar a lib CLD

Estude bem o BLINKER que ele foi a salvação do Clipper !



memory low

Enviado: 08 Nov 2011 19:37
por Pablo César
Realmente o uso do BLINKER não tem comparação com respeito ao aproveitamento de memória. Só para complementar: você pode também utilizar o BLINKER como vem utilizando o RTLINK, é só substituir os nomes e colocar o BLINKER junto com o RTLINK.EXE e poder dar os parâmetros na linha de comando:

C:\UTIL\CLIPPER5\BIN\BLINKER FI ESTOQUE,C:\UTIL\CLIPPER5\OBJ\TIMESLIC.OBJ LI DBFCDX LI CT52 LI LFN LI NANFOR LI CPMI LI LL LI MD5

memory low

Enviado: 12 Nov 2011 19:42
por Gilberto M Silva
Olá Billy,
Entendi direitinho a sequencia para linkar com o blinker, só não estou conseguindo montar as peças, descrevi os arquivos da seguinte forma:
CUPOM2.LNK
BLINKER EXECUTABLE EXTENDED
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F:255;SWAPPATHC:\SWP;
BLINKER EXECUTABLE COMPRESS 1
OUTPUT CUPOM.EXE
map s,a,x
FILE CUPOM
BEGINAREA
search C:\UTIL\blinker\lib\blxclp52
LIBRARY TIMESLIC.OBJ,DBFCDX,nanfor,lfn,ll,cpmi,MD5,CT52
ENDAREA
@CUPOM2.LNK
cupom.clp
cls
if not exist cupom.obj C:\UTIL\CLIPPER5\BIN\clipper @CUPOM %1
del CUPOM.EXE
c:\UTIL\blinker\bin\blinker @cupom2
e C.BAT
@ECHO OFF
SET INCLUDE=C:\UTIL\CLIPPER5\INCLUDE;
SET LIB=C:\UTIL\CLIPPER5\LIB;
SET OBJ=C:\UTIL\CLIPPER5\OBJ;
SET C:\UTIL\CLIPPER5\BIN\CLIPPER=F:255;
REM C:\UTIL\CLIPPER5\BIN\CLIPPER @CUPOM %1
C:\UTIL\BLINKER\BIN\BLINKER fi @CUPOM2
CUPOM
DEL *.BAK
DEL *.OBJ
ECHO ON
Quando executo o C.BAT aparece mensagens do blinker e não compila

memory low

Enviado: 14 Nov 2011 22:07
por billy1943
Eu não vi na sua estrutura a chamada para CL520max.LNK e esse arquivo é necessário conforme a versão do Clipper utilizado, que no meu caso é o Clipper 5.2.

Reveja de forma resumida a estrutura que propus:

a) arquivos .CLP que conterão somente nomes dos .PRG a serem incluídos no sistema
ex: est000.clp contém somente:
est001
est002
est003 ....

b) Estoque.BAT que vai chamar a compilação pelo Clipper e linkedição pelo Blinker com o seguinte conteúdo
cls
if not exist est000.obj clipper @est000 %1 -> compila o est000.Clp e gera o objeto Est000.obj se este não existir
if not exist est100.obj clipper @est100 %1 100.clp est100.obj
if not exist est200.obj clipper @outros1 %1 200.clp outros.obj
del estoque.exe -> apaga previamente o executável - opcional pois pode destruir cópia boa do sistema
c:\blinker\bin\blinker @estoque2 -> acessa o estoque2.lnk e faz a linquedição dos .OBJ
***************************************************


c) Estoque2.LNK que no exemplo terá todas as suas especificações para o Blinker com o conteúdo:
***********************************************************************************
BLINKER EXECUTABLE EXTENDED
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F:255;SWAPPATHC:\SWP;
BLINKER EXECUTABLE COMPRESS 1
OUTPUT estoque.EXE
map s,a,x
FILE est000
BEGINAREA
FILE est100
FILE outros
search c:\blinker\lib\blxclp52
LIBRARY oslib,super35,fast,apistd,ptool52,nanfor,blnet,lfn,ll,cpmi
ENDAREA
@CL520max.LNK

Para que haja compilação você tem de eliminar os .OBJ (todos ou só aqueles que foram mudados os .PRGs correspondentes.