Página 1 de 1
Travamento do Executavel
Enviado: 22 Mai 2009 11:47
por carrara
Prezados colegas,
Desenvolvo programas em Clipper desde 1990. Nos últimos meses, tenho tido problemas de travamento do programa. Acredito que o problema ocorre devido a falta de controle da memória do micro. Disponho de 248 MB de RAM, Pentium 4(R) 4 CPU 2.80 GHZ. Meu sistema operacional é Windows XP Professional, SP-1.
O sistema em Clipper possui 2.071 KB. O programa trava apenas quando acesso um banco de dados que possui 5100 registros. Já pensei em subdividir o DBF, mas não consegui, acredito que seja impossível. Utilizo o padrão de indexação .CDX e nesse caso, foram criados 6 indices, para uso do sistema. Quando trava tenho que fechar e abrir outra vez. As vezes trava, em outras não. Se alguém puder me ajudar agradeço.
Trabalho em projeto de informatização de medicina natural. Sou antropólogo e pesquisador. Em nossa página da Internet, tenho uma página somente para os livros em clipper que possuímos (
http://www.bchicomendes.com). Caso queiram entrar em contato direto comigo, meu email é
djcarrara@hotmail.com
um clip abraço
Douglas Carrara
Re: TRAVAMENTO DO EXECUTAVEL
Enviado: 22 Mai 2009 13:39
por sygecom
Bem vindo ao fórum Douglas,
Que nem diria o Jack, Vamos por partes.
1º- Você esta usando o TIMESLIC do Maligno ? ele resolve muito a lentidão de sistemas Clipper em Windows XP, caso ainda não esteja usando pode baixar ele direto do site do maligono, link abaixo:
http://pub.buzinello.com/xbase/clipper/ ... _slice.zip
2º- Esses momento que esta travando em seu sistema, você consegue identificar em que parte do codigo esta travando ? tipo quando chega em um SET FILTER TO, ou LOCATE, e falando em SET FILTER TO, ele é um processo muito lento e como você já usa CDX pode ser subistituido pelo ORDSCOPE(), aqui no fórum tem varios exemplos de uso do ORDSCOPE().
3º- Uma opção tambem é migrar esse seu aplicativo Clipper para xHarbour, vai abrir varios horizontes para seu aplicativo, como imprimir nativamente em impressoras USB, alem de ser em 32bits, e rodar muito mais rapido que aplicativos Clipper.
Re: TRAVAMENTO DO EXECUTAVEL
Enviado: 22 Mai 2009 14:16
por billy1943
O problema não parece ser de lentidão, mas sim de preenchimento da mémoria.
Como o sistema está sendo compilado ?
No Blinker isso não ocorreria, pois ele utiliza todas as memórias (baixa e extendida), e o tamanho do programa não seria problema.
O Timeslic pode ajudar sem dúvida se forem usados outros programas concomitantemente ao Clipper, pois quando ocorre indexação o Clipper "chupa" um pouco mais do sistema, chegando até a 100% mesmo com o Timeslic ativo.
O que menos está causando problema é o tamanho do banco em questão (5.100 registros) que é muito, e presumo que os índices também não devem ficar enormes a ponto de travar o sistema.
Re: TRAVAMENTO DO EXECUTAVEL
Enviado: 22 Mai 2009 14:32
por Dr.Microso
Colega Carrara, boa tarde!
Acho que seu problema está fácil de ser resolvido...
A exemplo da dica do colega anterior, vamos dividir por partes e trabalhar por exclusão...
>1) "Nos últimos meses, tenho tido problemas de travamento ..."
Supondo que o programa funcionava normal ha 2 anos (ou +) e o problema tenha 4 meses, é possível que a anomalia possa ser tanto interna (banco de dados) como alheio a aplicação.
>1[a]) Verifique a saúde dos DBFs e dos índices, pode haver corrupção (apague os índice manualmente se necessário e refaça-os). Considere fortemente isso se a anomalia se manifesta principalmente qdo vc foca os DBFs (inclusão, busca, etc). Não creio que seja por causa do número de registros (apesar de desconhecer a estrutura da tabela interna), pq aqui na empresa tem um PII mmx que opera perfeitamente a anos, um DBF com 370.000 linhas (CDX e "n" índices). Se possível, transfira os DBFs para outra pasta, crie um novo e adicione registros e opere por um tempo. Pode ser que sua aplicação crie automático um novo DBF na ausência do original. Observe, a esta altura, vc já terá chegado a solução ou a -1 causa.
>1 Como está a configuração? As variáveis de ambiente estão "setadas" corretamente. Há programas de 3os que mudam a configuração e até mesmo o equipamento pode perde-la por razões diversas. Confira.
>1[c]) Como está o HD? Tem Bad Blocks? Está muito fragmentado? O micro emite sons estranhos as vezes? Outras aplicações se comportam de forma estranha? Para o sim ou para o não, tente instalar seu aplicativo em outro PC (já o fez?) e observe... Vc chegará então a 1 solução ou a -2 causas...
>1[d]) Já vi também a memória fazer isto (vc fez uma troca ou upgrade recente?). Se vc já fez instalação em outro PC a esta altura (e o problema não é banco de dados corrompido), pelo menos parte de suas dúvidas já estarão respondidas.
Sucesso pra vc!
Re: TRAVAMENTO DO EXECUTAVEL
Enviado: 24 Mai 2009 01:04
por Augusto
Olá pessoal.. há quanto tempo hein
Analisando o problema exposto e igualmente as soluções propostas, eu diria que o amigo Carrara respondeu a sua própria pergunta quando disse:
"Disponho de 248 MB de RAM, Pentium 4(R) 4 CPU 2.80 GHZ. Meu sistema operacional é Windows XP Professional, SP-1"
Perceberam ??
O XP (de cara) já não roda bem com 512Kb que dirá com 248 (se for isso mesmo, é óbivio que ele está com pentes de memória díspares, o que tecnicamente já é ruim).... SP1

? Esse não durou nem 1 ano e a M$ soltou o SP2 justamente para resolver problemas de endereçamento de memória entre outros, sem falar que já estamos no SP3... ou melhor... Já estamos no VISTA (ou seria "pior"??)... melhor ainda no Win7... (ou seria "pior ainda"??)
Bem...
1 - Quanto ao tamanho do DB... 5100 regs?? Isso é NADA... ainda mais usando CDX
2 - DB corrompido ?? Não trava EXE... Manda logo uma mensagem...
3 - O sistema é multiusuário ?? Considere essa questão...
4 - Qual a versão do Clipper ?? Será o 5x ??
5 - TLink ?? RTLink ?? Blinker ?? - Opte pelo BLINKER!!
Re: TRAVAMENTO DO EXECUTAVEL
Enviado: 25 Mai 2009 11:21
por sygecom
Tava sumido do fórum mesmo Augusto, deixo aqui minhas saudações colorada....abraços.
Re: TRAVAMENTO DO EXECUTAVEL
Enviado: 26 Mai 2009 10:45
por asimoes
Olá,
Verifica também a memória disponível: com mem /c no prompt do dos
- Bytes totais disponíveis para programas (Conv.+Sup.) : 628240 (613.5K) (Prinicipalmente aqui, quanto menor, maior o seu problema com clipper) (*)
Tamanho do maior programa executável: 619744 (605.2K)
Maior bloco de memória superior disponível : 5008 ( 4.9K)
1048576 bytes de memória estendida contígua
0 bytes disponíveis de memória estendida contígua
941056 bytes de memória XMS disponível
MS-DOS está residente na área de memória alta
(*) Desde que você esteja linkando com o blinker em modo protegido.
[]´s
Re: TRAVAMENTO DO EXECUTAVEL
Enviado: 26 Mai 2009 19:02
por billy1943
O problema deve residir no tamanho do executável.
Compilei um pequeno sistema em Harbour e o .EXE ficou com mais de 1.500 KB, e depois com o Rtlink caiu para +- 500 KB.
Só que com Blinker ficou com 257 KB !!
Sem falar que travava na versão do RTLINK com "OrdCreate Error 4412", quando estava fazendo a indexação dos arquivos que não são muito pequenos não.