Página 2 de 2

Clipper52

Enviado: 28 Dez 2007 00:04
por Sergio Cabral
Baixei o Clipper5.2e e mudei meu .BAT de compilação para Clipper52e mas dá erro "CANNOT READ RTLINK.DAT HEADER"
Por favor me informe o que estou fazendo errado?

Enviado: 28 Dez 2007 09:30
por Eolo
Se o Clipper estava por exemplo na pasta c:\CLIPPER e vc a alterou para C:\CLIPPER5, sem corrigir o PATH, dá encrenca mesmo.

Confirme o caminho do Clipper...
. (Win98) no comando PATH do arquivo c:\autoexec.bat
. (Winxp) em Variáveis de Ambiente.

Clipper52

Enviado: 31 Dez 2007 14:34
por Sergio Cabral
Já havia feito exatamente assim quando instalei o 5.2e e não funcionou.

Enviado: 31 Dez 2007 15:11
por Eolo
A seguir, o que EU tenho setado para o Clipper no WinXP. Compare com o que vc tem.

. arquivo c:\windows\system32\autoexec.nt:
SET INCLUDE=C:\CLIPPER5\INCLUDE;C:\CATOOLS\INCLUDE
SET LIB=C:\CLIPPER5\LIB;C:\CATOOLS\LIB
SET OBJ=C:\CLIPPER5\OBJ;C:\CATOOLS\OBJ
SET PLL=C:\CLIPPER5\PLL;C:\CATOOLS\PLL
set clipper=F200

. arquivo c:\windows\system32\config.nt:
files=200
BUFFERS=30

. PATH (em variáveis de amvbiente)
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\NG;c:\clipper5\bin

Se o erro que está dando é o ERT0084:
. o DAT está corrompido ou
. não está na pasta certa C:\clipper5\bin ou
. a pasta \BIN não está no PATH...

Enviado: 31 Dez 2007 15:19
por Eolo
Ah, dê uma pensada em trocar o RTLINK pelo BLINKER.
Dê uma pesquisada aqui no forum, vc vai ver as referências a isso e também achar o BLinker7 para baixar.

Enviado: 01 Jan 2008 21:31
por Gilberto M Silva
eu tentei compilar com o blinker7 mais deu estouro de memoria convencional, como faço para aumentar a memória convencional?? :-o

Enviado: 02 Jan 2008 23:41
por Maligno
Você não prefere usar o modo protegido? É muito melhor que o modo real, onde normalmente dá esse tipo de erro de falta de memória. No modo protegido o seu programa passa a utilizar toda a memória que sua sessão DOS tiver, que tem como efeito colateral, o alívio do disco, já que, havendo muita memória, os swaps pra disco são (ou deveriam ser) totalmente eliminados. E não havendo swaps, o programa tem sua velocidade incrementada.

LPT_TIMEOUT

Enviado: 21 Fev 2008 18:07
por Marsenne
Nunca modifique o LPT_TIMEOUT do registro do windows que tem como padrão 15. Não está em segundos. Acredite já testei e não tem nada de segundos. Passar para o valor 1 nem pensar. Assim seus programas de impressão ficarão perdidos quando uma rotina longa faz a a impressora aguardar (principalmente as de impacto e jato de tinta). Também, para um valor pequeno sua máquina local e tráfego de rede deve ser muito rápidos.

A solução para impressão imediata com o clipper no xp é somente uma e funciona perfeitamente com meus sistemas:

... iniciando a impressão

SET DEFAULT TO ' se o default não é na máquina local
SET PRINTER TO LPT1
SET DEFAULT TO \\MAQ\COMPART 'volta seu default padrão

SET DEVICE TO PRINTER
... aqui os comandos de impressão do tipo @ SAY

... finalizando a impressão (não é necessário usar o SET DEFAULT TO)
SET PRINTER TO
SET DEVICE TO SCREEN

O segredo para funcionar é o SET DEFAULT TO quando seu banco de
dados não está na máquina local. Se não utilizar o clipper assume que
a LPT1 está em outra máquina e não funcionará.

Re: LPT_TIMEOUT

Enviado: 21 Fev 2008 18:25
por Maligno
Marsenne escreveu:SET PRINTER TO
SET DEVICE TO SCREEN

O segredo para funcionar é o SET DEFAULT TO quando seu banco de
dados não está na máquina local. Se não utilizar o clipper assume que
a LPT1 está em outra máquina e não funcionará.
Nunca usei SET DEFAULT na vida. Minhas impressões são sempre em LPT (apesar de usar mais o spooler agora) e nunca travaram. A única coisa que uso pra despachar a impressão na hora é o SET PRINTER TO. Em Windows 98 (que aqui ninguém mais usa) e Windows XP funciona normal.

LPT_TIMEOUT

Enviado: 21 Fev 2008 19:00
por Marsenne
É porque você mantém o banco de dados na mesma máquina do executável. Quando está em um servidor é necessário utilizar o SET DEFAULT TO \\SERVIDOR\COMPARTILHAMENTO. O clipper por padrão abre os arquivos de dados no path local da aplicação. Se for isto realmente não é necessário utilizar o SET DEFAULT TO.

Enviado: 21 Fev 2008 19:11
por sygecom
Marsene, ou pode tmb. mapear a unidade ou uma pasta compartilhada no windows que funciona tmb.

Re: LPT_TIMEOUT

Enviado: 21 Fev 2008 19:26
por Maligno
Marsenne escreveu:É porque você mantém o banco de dados na mesma máquina do executável. Quando está em um servidor é necessário utilizar o SET DEFAULT TO \\SERVIDOR\COMPARTILHAMENTO. O clipper por padrão abre os arquivos de dados no path local da aplicação. Se for isto realmente não é necessário utilizar o SET DEFAULT TO.
Não. Tenho os dois casos, com os dados no servidor e na máquina onde está o EXE. Na execução em rede, o drive é mapeado e o prompt passa para o drive dos dados. O EXE é executado ou no mesmo drive dos dados ou em outro, local. Não faz diferença. O funcionamento é igual e a impressão transcorre normalmente.
Aliás, um detalhe: eu nunca uso endereçamento implícito. Sempre explicito o local dos dados, omitindo apenas o drive. Isso evita um monte de problemas e me dá um conforto: não me faz diferença alguma onde o prompt está, desde que esteja no drive dos dados.

Re: LPT_TIMEOUT

Enviado: 21 Fev 2008 23:53
por Clipper
Marsenne escreveu:Nunca modifique o LPT_TIMEOUT do registro do windows que tem como padrão 15. Não está em segundos. Acredite já testei e não tem nada de segundos. Passar para o valor 1 nem pensar
Prezado Marsenne

Creio que esteja enganado quanto a isso, modificar o valor dessa chave para 1, resolve sim na maioria dos casos a lentidão que ocorre quando eviamos impressões via rede, essa é uma prática que utilizo como padrão em meus clientes, quando a chave está com o valor 15 a impressão geralmente demora cerca de 1 minuto, já com a chave em 1 a impressão é quase que imediata. Agora, quanto a imprimir na impressora local realmente não faz diferença alguma se for 1 ou 15.

Vejamos o que diz a Microsoft.
Microsoft escreveu: LPT_timeout
HKLM\SYSTEM\CurrentControlSet\Control\WOW
Data type Range Default value
REG_SZ
Number of seconds
15

Description
Determines how long an MS-DOS-based application can keep an LPT port open after use. When the time open after use exceeds the value of this entry, the system closes the port and deletes its output. Limiting the time a port can remain open limits the effect of MS-DOS-based applications that use BIOS and do not close the port.
Pelo que eles dizem é sim estabelecido em segundos.

Até logo.

Marcelo

Re: Muito boa essa dica !

Enviado: 19 Mai 2008 21:07
por screbinsk
Adalberto escreveu:Sergio,

¿Passar de clipper 5.1 para clipper 5.2 não e só compilar?, em quanto a lentidão da impressora pode testar o seguinte:
Faz o que diz Pablo César no post e link (5 de dez ) e execute script abaixo:

(Este script e ajuda e colaboração deste foro, Obrigado)
Vá para o Botão INICIAR
Selecione EXECUTAR
e digite REGEDIT
SELECIONE AS OPCOES
KHEY_LOCAL_MACHINE
SYSTEM
CURRENTCONTROLSET
CONTROL
WOW
AGORA DO LADO DIREITO DA JANELA
SELECIONE LPT_TIMEOUT
ALTERE DE 15 PARA 0 ou 1 (zero 0 um)
Olá estava eu aqui neste famoso forum, pesquisando para tentar resolver um problema o qual estou me deparando o qual vou citar logo abaixo:
Meu sistema estava rodando num Win98 muito bem, só que quando migrei para o win xp professional, ele imprimia os relatórios perfeitamente na impressora lx300+ (padrão). Mas a impressao das notas fiscais tinha um problema. Ele começava a imprimir e na metade da NF. ele dava uma trancada na impressão e depois de 15 segundos ele seguia imprimindo o restante do documento. Estava fazendo sempre a mesma coisa. Deduzi q só poderia ser problema na configuração do win xp ou da impressora. Através desta dica do colega, ai de cima, consegui resolver o meu problema. Espero que possa ajudar a mais alguém. Valeu pessoal !