Clipper em Rede-Posso colocar 1 central.exe em cada estacao?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Krinski
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 10 Dez 2004 11:42
Localização: Brasília-DF

Clipper em Rede-Posso colocar 1 central.exe em cada estacao?

Mensagem por Krinski »

Pessoal

Estou tendo problema de memoria no programa central.exe funcionanando apenas com o dbfcdx.lib e montado com o exospace.

No servidor estao o central.exe (chamado por todos) , os dbfs e os cdx.

Posso colocar um central.exe para cada estação (reconfigurando o caminho de busca dos arquivos dbfs) ?

Isso seria solução para o famoso erro...

ERROR (35) GENERAL protection fault in CENTRAL.EXE at 03e7:299A code:0000 ss=0A57 ds= 0A7F es= 0A47 ax= 0A47 sx= 003F cx= 7ECB dx= F251 sp=73DC bp=7622 si=F469 di=047F


Aguardo Help.
Obrigado!
Emerson.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Olha meu amigo, poder vc pode, porém seria como trocar 6 por meia-duzia !
Pois não importa onde esteja o executável. Sem contar que toda vez que tiver de atualizar o sistema, vc vai ter de peregrinar por todas as maquinas.
Acho que a solução mais acertada seria vc linkar o sistema com o Blinker 7 em modo extendido e ir pra galera.
Krinski
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 10 Dez 2004 11:42
Localização: Brasília-DF

SAI DO BLINKER E VOLTEI PARA O EXOSPACE - NAO RESOLVEU!

Mensagem por Krinski »

Eu abandonei o Blinker pois dava muitos erros de memoria por dia. + de 30... nao aguentava mais o pessoal me ligando...

O exospace continua dando problema mas é menos que o blinker..

Tentei todas as configuracoes do blinker que pude encontrar... nenhuma deu certo.

Estou sem saida.
Eliane
Usuário Nível 2
Usuário Nível 2
Mensagens: 82
Registrado em: 22 Mai 2006 10:17
Localização: Londrina-PR

Mensagem por Eliane »

Tive um problema parecido e com a sugestão de um amigo, utilizei o BLINKER 4 ao invés do EXOSPACE. Resolveu. Ele é mais enxuto.
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Bom dia.
Vc já utilizou o blinker pode me postar seu arquivo lnk .


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Krinski
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 10 Dez 2004 11:42
Localização: Brasília-DF

JÁ USEI O BLINKER MAS ELE DEU MAIS PAU DO QUE O EXOSPACE.

Mensagem por Krinski »

Dudu.. algumas vezes eu via o pessoal dizendo "Ajudem o pobre desesperado!" eu ria e achava que era uma expressão usual do fórum... Mas agora estou sentindo na pele o que é este

desespero! Permita-me contar brevemente o que estou passando...

S O C O R R O !
Já postei pouco tempo atraz este problema (veja KRINSKI) e nao obtive help nenhum.



- Programo em clipper há 15 anos
-Atualmente trabalho em clipper em uma grande empresa de Transportes
- Fiz um programinha por fora para uma central de reservas (hotel)
**************************************************
- Características:

04 micros em rede
2 Micros Win98 (usando o emm386.exe RAM) config.sys
2 Micros Xp (usando EMM=RAM) no config.nt
1 Servidor Windows 2003 server (acho)
- Compilador Clipper 5.2e
Rtlink 7 (plus)
Blinker 7
- unica lib que utilizo é DBFCDX
- Nao abro arquivos desnecessarios
- todos arquivos abertos em modo compartilhados
- uso corretamente o bloqueio de registros e o desbloqueio no final

- Deixei o Exe no servidor e fiz atalho para todos buscarem-no lá
- O exe ficou pequeno com o blinker - menos de 300k

*****************************************************
mas o erro é constante, nao sei mais o que fazer... o pessoal da central de reservas me liga

umas 20 vezes ao dia e eu nao sei o que fazer para parar este erro.

Mudei para o Exospace e o erro continua... só que com mensagens diferentes

ERROR (35) GENERAL protection fault in CENTRAL.EXE at 03e7:299A code:0000 ss=0A57 ds= 0A7F

es= 0A47 ax= 0A47 sx= 003F cx= 7ECB dx= F251 sp=73DC bp=7622 si=F469 di=047F


Achei na internet uma possivel causa: meu dbfcdx poderia estar bichado, baixei outro na internet alias tinha o mesmo tamanho 99777 sei lá... vamos ver...

Arquivo Central.lnk
===================
BLINKER EXECUTABLE CLIPPER F220;SWAPPATHC:\TEMP;
BLINKER EXECUTABLE COMPRESS 1
BLI EXE EXT
BLINKER INCREMENTAL OFF

OUTPUT CENTRAL
FILE CENTRAL

BEGINAREA
FILE ROTINA
FILE ROTHOTEL
FILE ACESSO
FILE ABRE
FILE REL_FIC
FILE CEN_BHOS
FILE CEN_BAPT
FILE CEN_ADIA
FILE CEN_HOSP
FILE CEN_VISU
FILE CEN_GRUP
FILE CEN_RESE
FILE CEN_ALVE
FILE CEN_VEND
FILE CEN_RVCH
FILE CEN_ESPE
ENDAREA

LIB=C:\CLIPPER5\LIB\DBFCDX.LIB

SEA BLXRATEX <-nao sei para que serve!
SEA BLXCLP52 <-nao sei para que serve!

@CL520MIN.LNK <-nao sei para que serve!

=======================================================================
Arquivo Central.RMK
objs=\
CENTRAL,\
ROTINA,\
ROTHOTEL,\
ACESSO,\
ABRE,\
REL_FIC,\
CEN_BHOS,\
CEN_BAPT,\
CEN_ADIA,\
CEN_HOSP,\
CEN_VISU,\
CEN_GRUP,\
CEN_RESE,\
CEN_ALVE,\
CEN_VEND,\
CEN_RVCH,\
CEN_ESPE \

.prg.obj:
CLIPPER $** /M

CENTRAL.OBJ: CENTRAL.PRG
ROTINA.OBJ: ROTINA.PRG
ROTHOTEL.OBJ: ROTHOTEL.PRG
ACESSO.OBJ: ACESSO.PRG
ABRE.OBJ: ABRE.PRG
REL_FIC.OBJ: REL_FIC.PRG
CEN_BHOS.OBJ: CEN_BHOS.PRG
CEN_BAPT.OBJ: CEN_BAPT.PRG
CEN_ADIA.OBJ: CEN_ADIA.PRG
CEN_HOSP.OBJ: CEN_HOSP.PRG
CEN_VISU.OBJ: CEN_VISU.PRG
CEN_GRUP.OBJ: CEN_GRUP.PRG
CEN_RESE.OBJ: CEN_RESE.PRG
CEN_ALVE.OBJ: CEN_ALVE.PRG
CEN_VEND.OBJ: CEN_VEND.PRG
CEN_RVCH.OBJ: CEN_RVCH.PRG
CEN_ESPE.OBJ: CEN_ESPE.PRG

CENTRAL.EXE: \
CENTRAL.OBJ \
ROTINA.OBJ \
ROTHOTEL.OBJ \
ACESSO.OBJ \
ABRE.OBJ \
REL_FIC.OBJ \
CEN_BHOS.OBJ \
CEN_BAPT.OBJ \
CEN_ADIA.OBJ \
CEN_HOSP.OBJ \
CEN_VISU.OBJ \
CEN_GRUP.OBJ \
CEN_RESE.OBJ \
CEN_ALVE.OBJ \
CEN_VEND.OBJ \
CEN_RVCH.OBJ \
CEN_ESPE.OBJ \

BLINKER @central readonly
============================================================

Bem Ao executar o programa ... tudo ok

Mas ao fazer operacoes que gravem no arquivo ... (dbcommit, replace etc)

BLX286 : 1313 : exception error 0D : general protection fault, code = 0000h

Active host is DPMI (ß7.00 iP? 15360 Kb)

Reg Value Limit Base Flags Segment Module File
CS 020F F0F3 02A56394 FB00 02 CENTRAL C:\HOTEL\CENTRAL.EXE
DS 0AAF 03FF 02AB9460 F300 ****
ES 0277 047F 02A3D620 F300 0F CENTRAL C:\HOTEL\CENTRAL.EXE
SS 027F FFFF 029A64FC F300 10 CENTRAL C:\HOTEL\CENTRAL.EXE

Código: Selecionar todos

 BF 28 01 8B F2 1F D1 E9 [IP] F3 A5 13 C9 F3 A4 1F 8B 4E F6

[Registers]  AX=0277  BX=003F  CX=7F00  DX=0251   CS:IP=020F:E5B2
             SI=03FF  DI=0315  BP=6F98  SP=6D52
             FL=3A17  OV UP EI NT PL NZ AC PE CY

[Stack value SS] 0000 0400 027F 002D 0000 6F98 E441 020F 0018 0AAF 001B 0AAF
            [SP] 027F B99E A38A 0128 0277 4945 4F52 4956 4752 4E49 4149 4120

[Stack frame SS] 003F 015B 0003 0000 FFAF 0000 00F6 002D 0000 0AAF 0018 0AAF
            [BP] 6FCA E962 020F B99E 0357 A38A 7534 AF28 0357 A426 0357 0000[/color][/b]
----------------------------------------------
pra finalizar vai aí a gama de parametros que achei para o blinker... mas ninguem sabe ao certo o que faz todos eles. 

JÁ USEI VARIAS COMBINACOES E NADA.

#------------------------Exemplo 1  Simples -----------------------------
BLINKER EXECUTABLE CLIPPER F220;SWAPPATHC:\TEMP;
BLINKER EXECUTABLE COMPRESS 1
BLI EXE EXT                   # Remove for Real mode
BLINKER INCREMENTAL OFF       # To improve Memory(0) and speed

------------------------Exemplo 2  -------------------------------------
Blinker Cache EMS 50%,50%
Blinker Cache XMS 50%,50%
Blinker Link EMS ON
BLINKER EXECUTABLE CLIPPER F220;SWAPPATHC:\TEMP;
Blinker Link XMS ON
Blinker Exec Exte
BLINKER EXECUTABLE COMPRESS 1
Blinker Memo Pack 60
Blinker Incr Pad 256
Blinker Over Page On
Blinker Over Opsi 60

------------------------Exemplo 3  -------------------------------------
BLINKER INCREMENTAL OFF
BLINKER CLIPPER PAGE OFF
BLINKER link XMS ON
BLINKER EXECUTABLE EXTENDED 2048
BLINKER HOST MESSAGE ON
BLINKER HOST DPMI ON
BLINKER HOST VCPI ON
BLINKER HOST XMS ON
BLINKER PROCEDURE DEPTH 70
BLINKER EXECUTABLE COMPRESS 1
blinker executable nodelete
stack 7068
map
nobell

------------------------Exemplo 4  -------------------------------------
BLINKER EXECUTABLE EXTENDED
BLINKER EXECUTABLE ALIGN 64
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE CLIPPER /F:255 /DYNF:8 /SWAPK:65535 /SWAPPATH:'' /TEMPPATH:''
NOBELL
STACK 7168
BLINKER INCREMENTAL OFF
BLINKER OVERLAY FIXED
BLINKER OVERLAY UMB ON
BLINKER OVERLAY PAGEFRAME ON
BLINKER CACHE EMS 256,0%
BLINKER CACHE XMS 256,0%
BLINKER OVERLAY OPSIZE 40
BLINKER EXECUTABLE CLIPPER F200
------------------------Exemplo 5  -------------------------------------
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F250
BLINKER PROCEDURE DEPTH 140
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE EXTENDED 
stack 7068
MAP S,A
#------------------------Exemplo 6  -------------------------------------

BLINKER OVERLAY FIXED         # Use a fixed overlay area instead of the free pool
BLINKER OVERLAY OPSIZE 60     # Allocate 60k to the overlay pool
BLINKER INCREMENTAL OFF       # Perform a full link
BLINKER OVERLAY PAGEFRAME ON  # Use expanded ram for overlay pool to save memory
BLINKER OVERLAY THRESHOLD 256 # Use these commands only if using Blinker 2.0 and above
BLINKER CACHE XMS 512, 25%
BLINKER CACHE EMS 128, 50%
BLINKER EXECUTABLE EXTENDED   # Usa memoria extendida
BLINKER EXECUTABLE NODELETE   # Cria exe apesar dos "unresolved external"
#------------------------Exemplo 7  -------------------------------------
BLINKER INCREMENTAL OFF
BLINKER MEMORY CLEAR 1
BLINKER CACHE XMS 8192, 25%
BLINKER OVERLAY OPSIZE 1
BLINKER OVERLAY UMB ON
BLINKER OVERLAY THRESHOLD 64
BLINKER EXECUTABLE EXTENDED 8192 // 4096 //8192
BLINKER EXECUTABLE ALIGNMENT 64
BLINKER EXTMEM BLOCK 512
BLINKER EXTMEM LIMIT 8192 //4096 //8192
BLINKER LOWMEM RESERVE 64
BLINKER OVERLAY PAGEFRAME ON
BLINKER HOST QDPMI ON
BLINKER HOST DPMI ON
BLINKER HOST VCPI ON
BLINKER HOST XMS ON
#------------------------Exemplo 8  -------------------------------------
# uso de overlays 
BLINKER OVERLAY FIXED 
BLINKER OVERLAY OPSIZE 60 # tamanho del overlay 60k
BLINKER INCREMENTAL OFF      # linkado completo OFF /o no ON
BLINKER OVERLAY PAGEFRAME ON # uso de la memoria expandida para los overlays
BLINKER OVERLAY THRESHOLD 256 # tamanho más pequeña para un overlay
BLINKER CACHE XMS 512, 25%
BLINKER CACHE EMS 128, 50% 

#------------------------Exemplo 9  -------------------------------------

Blinker Exec Clipper //BadCache //Dynf:8 //F:254 //Noidle (Não use mais Set Clipper no 

Autoexec.bat) 
Blinker Exec Comp 2 
Blinker Host Mess Off 
Blinker Exec Exte 
Search BlxRatex 
Search BlxClp53 
Blinker Incr Pad 128 
Blinker Memory Pack 2 
Blinker Over Page On 
Blinker Over Opsi 60 



SE ALGUEM SE DISPUSER A ENCONTRAR A SOLUÇÃO E O PROGRAMA FINALMENTE SE ESTABILIZAR DIGA AÍ  SEU PREÇO DAS HORAS GASTAS PARA REEMBOLSO. -
Avatar do usuário
ALTIERES
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 10 Jul 2006 14:46
Localização: Cuiaba - MT

Mensagem por ALTIERES »

Olá.
Você já fez teste usando NTX e vez de CDX ?, eu já usei CDX e meu sistema estava dando muitos erros mudei para NTX e melhorou.
____________

Altieres
Cuiabá - MT
altieres@rodovisatransportes.com.br
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Boa tarde.
Vamos lá.

Faça os seguintes downloads:

// Rdd six
http://www.vagucs.com.br/download/six302.zip

// Patch para correção de programas em alguns processadores
http://www.the-oasis.net/files/patch/__wait.zip

// lib com funções para melhorar o funcionamento dos programas em windows
http://www.vagucs.com.br/download/oslib.zip


1º Teste
- Descompacte a oslib e a __wait.zip copie as libs e os objs para o dir
de sua app.

- Adicione no seu prg principal essa função da oslib.
OL_AUTOYIELD(.T.)

- Altere no seu lnk


BLINKER INCREMENTAL OFF
BLINKER CLIPPER PAGE OFF
BLINKER link XMS ON
BLINKER EXECUTABLE EXTENDED 2048
BLINKER HOST MESSAGE ON
BLINKER HOST DPMI ON
BLINKER HOST VCPI ON
BLINKER HOST XMS ON
BLINKER PROCEDURE DEPTH 70
BLINKER EXECUTABLE COMPRESS 1
FILE CENTRAL, __WAIT_B
FI LE ROTINA
FILE ROTHOTEL
FILE ACESSO
FILE ABRE
FILE REL_FIC
FILE CEN_BHOS
FILE CEN_BAPT
FILE CEN_ADIA
FILE CEN_HOSP
FILE CEN_VISU
FILE CEN_GRUP
FILE CEN_RESE
FILE CEN_ALVE
FILE CEN_VEND
FILE CEN_RVCH
FILE CEN_ESPE
LIB DBFCDX, CTP, BLXCLP52, BLXRATEX,OSLIB
OUTPUT CENTRAL

- Recompile e teste.

2º Passo substituir o DBCDX pelo rdd SIXCDX.
- descompacte o rdd 3.02 e copie as libs para o dir do clipper.
- Adicione nos seus prgs o include.

#include "SIXCDX.CH"

// para abrir seu banco
rddsetdefault("SIXCDX")
USE SEUDBF NEW SHARED

// OU
USE SEUDBF VIA "SIXCDX" NEW SHARED

Adicione nas libs do seu lnk a SIX3.lib


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
helio
Usuário Nível 3
Usuário Nível 3
Mensagens: 175
Registrado em: 04 Ago 2004 10:36
Localização: São Bento do Una-PE
Contato:

Mensagem por helio »

DUDU os indices com SIXCDX continua da mesma forma de abertura e criacao.

Valeu,

Helio Beltrao
helio@hrbinfo.com.br
Krinski
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 10 Dez 2004 11:42
Localização: Brasília-DF

Mensagem por Krinski »

Dudu... Bom dia!

Fiquei muito feliz ao ver que dispos do seu tempo para tentar me ajudar. Realmente não sei mais o que fazer... imagine o programador chegar para a empresa e dizer que não sabe a solução do problema!...

Seguindo passo a passo o que tu me passaste , ao chegar na parte de colocar o #include para o six me deparei com a primeira linha do meu programa principal que dizia #include "fast.ch" (da fast.lib) mas ocorre que eu nao utilizo esta lib no programa. Bem ... será que esta fast.lib (mesmo que eu a tivesse utilizando...) não está preparada para rodar em modo protegido ? (não é isso que o Blinker faz com o Exe?) se for isso, de alguma forma TALVEZ o simples fato de invocar o cabeçalho fast.ch tivesse causando este "conflito" com a memória.

Partindo desta suposição, retirei a linha do programa , compilei (já com os passos anteriores que vc me passou) e não acreditei quando me ligaram que FINALMENTE (apos 2 meses de luta) estava funcionando em rede e com mais de uma pessoa acessando o programa... Eu estava então com tanta dor de cabeça que nem consegui comemorar...

Então ocorreu algo inexplicavel... lá pelas 6 da tarde somente um usuario estava conectado ao programa... os outros 3 já tinham até desligado o micro.. e ocorreu de novo o erro (tela azul com muitas informacoes em hexadecimal) o tão perturbador erro de memória... Aí (mais aliviado) pensei!! estranho... com todos logados nao deu o erro mas um só... nao era pra ter acontecido isso... talvez possa ser falha no pente da Ram...

Bem o fato é que com sua ajuda o trem começou a andar... (O PESSOAL JÁ ME LIGAVA PERGUNTANDO... ! É das PROGRAMAÇÕES TABAJARA ???) e eu tinha que aguentar...

finalmente (pra nao tomar mais o seu tempo...)

1) LIB DBFCDX, CTP, BLXCLP52, BLXRATEX,OSLIB (falta nas dicas que me passaste a lib CTP ela nao aparece em nenhum lugar ao descompactar os arquivos...)

2) ainda nao fiz a ultima parte no programa que é passar para a lib six... poderia me adiantar a dúvida... o que ela tem de melhor sobre a lib cdx ?
Se continuar funcionando deixo como tá ou continuo e passo para a lib SIX?

3) Um colega meu me fez pensar sobre colocar ou não o programa exe em cada máquina da rede e não no servidor junto com os dbfs... SE O MICRO TIVER QUE CHAMAR O PROGRAMA DE SI PROPRIO E NAO DA REDE, O TRAFEGO POR ELA SERÁ MENOR (SOMENTE OS DBFS...) E NAO O EXE TODO. O que acha sobre isso? Deixo o EXE no servidor e todos chamam o mesmo programa de lá ou coloco um EXE em cada máquina.

Obrigado a todos do fórum que contribuirem com sua participação para o enriquecimento de todos.
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Mensagem por marcos.gurupi »

Caro, minha pergunta eh a seguinte: Quando acontece esse erro vc tem tb q apagar os indices para resolver o problema? Pergunto pq isso acontecia comigo, estava como vc a beira do desispero entaum o proprio dudu_xbase me ajudou muito, instalei no servidor um sistema para servidor (winNT, win2000 ou win2003 todos server) e resolveu meu problema. No meu caso o problema era justamente a abertura de arq. no servidor era superior a 255 q eh o limite d SO n servidor. Obrigado.

Marcos Roberto.
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

1. Vc pode tirar a lib CTP pois não fará uso dela.
2. Não uso clipper 5.2e com cdx nativo dele tive mtos problemas.
Por isso migrei para SIXNSX depois para SIXCDX qdo tiver que migrar tudo para xharbour.
O SIXNSX na minha opinião é a melhor rdd para clipper 5.2e e trabalha
da msm forma que o SIXCDX o NSX tem recuros de criptografia.
3. Sim coloque o exe local nos terminais isso melhora a performance do sistema.


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




heveraldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 16 Jun 2006 17:15

Mensagem por heveraldo »

Seu problema é tão extenso, que talvez tenha até me perdido.
Esses problema que deixam agente que já tem estrada no clipper sem explicação, mesmo depois de tanta luta. Posso até está falando besteira, mas costumo diagostica como um problema de hardware.

Já tive problemas com: HD, memória, cabo de rede e até com um filtro de linha.

E com relação a instalar o sistema em cada estação.
Crie uma pasta na estação e mude o local de:
FUNCIONANDO - WIN98
PROCESSANDO - XP
para o local dos arquivos de dados.

Abraços!

Heveraldo
Responder