Compactar no GASPRO dbf com dbt

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Compactar no GASPRO dbf com dbt

Mensagem 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
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Compactar no GASPRO dbf com dbt

Mensagem 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?
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Compactar no GASPRO dbf com dbt

Mensagem 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 !
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Compactar no GASPRO dbf com dbt

Mensagem 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..
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Responder