Página 1 de 1

Compactar no GASPRO dbf com dbt

Enviado: 05 Mai 2011 10:44
por Alexandre Silva
Hoje coloquei o sistema em GASPROD na versao HARBOUR para rodar no cliente...

Maior problema
1-Eliminar Reg.Apagados, Se o Arquivo tem arquivo DBT na compactacao aparece arq.nao encontrado Arquivo.SMT
O sistema cai e o arquivo em questao fica corrompido, perda total..
Como compacter tratar os DBT no Harbour ?

2-Mudar o sistema com os usuarios usando.. O servidor é Seven 64, as estacoes seven 32
vc pode até renomerar o aplicativo para outro nome e trocar o executavel..
mas depois em algumas estacoes na entrada do sistema dá a msg:
Outro usuario acessando arquivo Parametros, ai vc insiste um pouco e acaba entrando..
E voce nao consegue apagar o arq. que foi renomeado até que o usuario saia do sistema.

3-Nao dá para usar o TAMEDOS, entao fica sem a tela cheia com opcoes de Fontes, etc.

Mas o problema maior é a compactacao de arquivo com DBT

Compactar no GASPRO dbf com dbt

Enviado: 06 Mai 2011 13:45
por Jairo Maia
olá Alexandre,

No tópico "Convertendo Sistema Gaspro para Harbour", vc disse:
Tenho a seguinte colocacos
1- no caso da tua funcao acho que se for .NSX deve ser DBT nao é ??
Em hipóstese nenhuma. Quando vc trabalha com o Rdd DBFNSX, vc não tem arquivo DBT, mas sim SMT. Confesso, que não tenho idéia como sua aplicação está rodando deste jeito.
2- Fiz com a sua funcao e depois mudei, se for NSX usa DBT, mesmo assim da o mesmo erro do bendito .SMT
se vc compilar o anexo e compactar vai ver que o exigencia do SMT aparece na funcao USEARQ()
Não pode alterar. Sua aplicação para funcionar corretamente tem que deixar SMT. Se vc analizar a função USEARQ(), verá que ela é quem abre os arquivos e indices. Por misso que o erro acontece somente na hora que o arquivo tenta ser aberto.
3- Como ja usava NSX no blinker, e continuo no Harbour teria mais alguma coisa para mudar na GASLIB
Esta é o tipo de colocação que automaticamente eu diria: "Duvido!". Como está sua aplicação, não funciona, vc sequer tem acesso a consultas em arquivos com memos. Não é possivel eu entender como funcionava em Clipper, se vc não tem os arquivos SMT. Embora, se vc está afirmando abviamente acredito, mas sem entender como.

Baixei seus arquivos e fiz o seguinte procedimento, que se vc repetir verá igual resultado:

1- Descompactei numa pasta vazia
2- compilei com R.BAT
3- executei ROMA.EXE
4- apresentou o erro, repeti e repetiu o erro
5- renomeei o arquivo PRODUTO.DBT para PRODUTO.SMT
6- entrei na aplicação normalmente
7- executei a compactação, deu o erro
8- usando FILEFIX, corrigi PRODUTO.DBF
9- apaguei o arquivo PRODUTO.DBF
10- renomeei o arquixo FIXED.DBF para PRODUTO.DBF. (O FILEFIX não corrige arquivos memo, cria vazio. Renomeei somente o .DBF)
11- abri ROMA.EXE e executei a compactação.
12- tudo certo, porém, o arquivo PRODUTO.SMT esvaziou
13- inseri novos registros no campo memo, tudo certo, mas os antigos não puderam ser visualizados mesmo antes da compactação.

Tentativas frustradas após isso:
1- Criei um arquivo com a mesma estrutura exceto o campo memo, e fiz o append from.
2- acrescentei o campo memo da mesma forma que na estrutura anterior, e renomeei para PRODUTO.DBF
3- Não funcionou. (As vezes isso acerta o ponteiro no arquivo memo)

Nota1: Usando seus arquivos originais, tentei abrir com DBU com DBFNTX, já que o arquivo memo era PRODUTO.DBT dá erro de corrupção.
Nota2: Usando o DBU com rdd DBFNSX, o arquivo abre, (após ser fixado com FILEFIX e renomeado PRODUTO.DBT PARA SMT) mas se acessar o campo memo para ler o conteúdo, trava. (ponteiro perdido)

Por enquanto não tenho idéia de como solucionar, salvo se vc puder perder o conteúdo dos campos memos, o que acho improvável. Espero que algum colega dê alguma luz.

Para finalizar, li que vc não tem como voltar para 16bits, mas usando a aplicação antiga vc consegue visualizar os campos memo normalmente?

Compactar no GASPRO dbf com dbt

Enviado: 06 Mai 2011 16:12
por Pablo César
vc não tem arquivo DBT, mas sim SMT
Um conselho, seja DBT ou SMT ou até mesmo FPT elimine esses campos do tipo MEMO, crie arquivos separados em pasta separada para armazenamento, vincule o código cliente para definir a nomenclatura de cada arquivo. Liberte-se dos arquivos tipo MEMO, na minha opinião eles não prestam !

Compactar no GASPRO dbf com dbt

Enviado: 06 Mai 2011 22:05
por Alexandre Silva
Eu só tenho esses memo no sistema GAS..Nunca fui fã... mas peguei o bonde andando..
E acreditem a extensao é DBT.. porque o GAS cria assim, e funciona, até no Harbour..
Só nao compacta..

Para finalizar, li que vc não tem como voltar para 16bits, mas usando a aplicação antiga vc consegue visualizar os campos memo normalmente?
Nao só com a antiga mas tb com o Harbour, leio e gravo..
Com tempo, vou fazer arq.filho para esses arquivos que tem memo..para colocar as obervacoes..
Meus cliente tem muitas obervacoes para cobrancas, clientes. funcionarios..