Array
(
)

Blob Already Opened-Arquivo DBT-Clipper

Neto
   - 17 fev 2006

:?: Olá a todos.
Tenho um sistema em clipper que usa um arquivo com três campos memo, neles gravamos observações sobre clientes. Este arquivo (.DBT) está muito grande e causando problemas.
Fizemos uma aplicação em Delphi+Firebird, onde leito linha a linha do campo memo e gravo na tabela (Firebird) em um registro normal (VarChar(80)). Quero dizer cada linha do memo é gravada na tabela em forma de registro do tipo caracter.
Quando termino de ler todas as linha do memo, então preciso limpar o seu conteúdo ( para ao final do processo possamos ter um arquivo .DBT bem mais enchuto (pequeno)).
Para limpar o conteúdo faço:
DM.ARQUIVO.EDIT;
DM.ARQUIVO.FIELDBYNAME(´CAMPO´).ASSTRING := ´´;
DM.ARQUIVO.POST;
Bem a rotina funciona normalmente até o final, mas quando tento executar novamente o processo (depois de gravar ´´ no campo memo), a aplicação retorna uma mensagem de erro:
BLOB ALREADY OPENED.
Enfim preciso saber como gravar nulo num campo memo do tipo DBF, porque a aplicação que alimenta este campo é feita em Clipper.
Abraço a todos
Neto


Aroldo Zanela
   - 17 fev 2006

Colega,

Não entendi bem o seu problema. Entretanto, se você estiver ´tentando´ utilizar o mesmo .DBT com aplicações Clipper, seguramente não irá funcionar, pois existem diferenças significativas no cabeçalho desses arquivos. Existe uma rotina em Clipper que permite ´limpar/encolher´ os arquivos DBTs, mas não me lembro mais o código e talvez você consiga em fóruns de Clipper.