PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum MyBase (CDS XML): Erro ao ler valores do arquivo #259480

22/11/2004

0

Boa noite amigos!

Criei um aplicativo para efetuar backups de bancos InterBase e que utiliza MyBase (um arquivo xml como fonte de dados para ClientDataSet) para armazenar a sua configuração (Servidor, banco de dados, usuário, etc...).

No meu computador (WinXP sp2 com Delphi 7 instalado), ele funciona perfeitamente. Cria o arquivo se o mesmo não existe, lê e grava valores... Mas testando em máquinas com Win98/NT e com Delphi 5 instalado, o aplicativo, apesar de criar o arquivo de configuração e inserir os valores padrão (formato dfXMLUTF8) corretamente, não lê os dados do arquivo.

Antes de qualquer pergunta, utilizo os procedimentos abaixo para manipular o arquivo:

Criar o arquivo e inserir valores padrão:
-----------------------------------------

CDSConfig := TClientdataSet.Create(Self);
...
with CDSConfig do
begin
with FieldDefs.AddFieldDef do
begin
DataType := ftString;
Size := 80;
Name := ´Servidor´;
end;
end;
...
CDSConfig.FileName := Config;
CDSConfig.CreateDataSet;
CDSConfig.EmptyDataSet;
CDSConfig.Insert;
CDSConfig.Fields[0].AsString := Servidor;
CDSConfig.Fields[1].AsString := Banco;
...
CDSConfig.SaveToFile(Config, dfXMLUTF8);
CDSConfig.Close;

Salvando valores:
-----------------------------------------

CDSConfig.Open;
CDSConfig.Edit;
CDSConfig.EmptyDataSet;
CDSConfig.Insert;
CDSConfig.Fields[0].AsString := Servidor;
CDSConfig.Fields[1].AsString := Banco;
...
CDSConfig.Post;
CDSConfig.Close;

Lendo valores:
-----------------------------------------

CDSConfig.Open;
Servidor := CDSConfig.Fields[0].AsString;
Banco := CDSConfig.Fields[1].AsString;
...
CDSConfig.Close;


Como compilei o programa com todas as dependências e o programa gravou os dados no arquivo perfeitamente, não faço a mínima idéia do que pode estar acontecendo de errado.

Caso alguem já tenha passado por este problema, agradeço qualquer ajuda.


Danilo Christiano

Danilo Christiano

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar