Boa tarde!

 

Estou trabalhando num projeto .NET e estou com o seguinte problema:

Tenho um assembly C# que publica uma classe e um enum.
A classe tem uma propriedade do tipo deste enum.

To precisando salvar os objetos dessa classe, pra isso, o seguinte método:
1) Crio um DataSet com um DataTable.

2) Crio a estrutura (colunas) do DataTable de acordo com os tipos dos campos
do objeto.

    A coluna que esta dando problema é feita da seguinte forma:
    Result.Tables.Item[0].Columns.Add('Tipo',
typeof(ExpertSmart.Core.TipoPessoa));

3) Mando gravar o DataSet num XML
  ds.WriteXml(ClientesFile);

  ds.WriteXmlSchema('Schema' + ClientesFile);

 

E a gravação funciona perfeitamente. Agora vem o problema, a leitura...

Para ler, faço da seguinte forma:

1) Crio um DataSet.

2) Leio o DataSet do XML

    Result.ReadXmlSchema('Schema' + ClientesFile);

    Result.ReadXml(ClientesFile);

3) Jogo pra um DataGrid e tudo certo.

 

Depois tento recriar um objeto de acordo com os dados do DataTable da
seguinte forma:
1) Localizo a linha (do DataTable) correspondente ao objeto que quero criar.

2) Vou jogando os valores das colunas para suas respectivas propriedades.

3) Ocorre o erro quando tento ler o Enum do DataTable, faço assim:

  Result.Tipo := TipoPessoa(row['Tipo']);

 

Dá erro de TypeCast.

 

Como posso resolver este problema?

 

Desculpe pela extensão da mensagem e se não consegui ser claro o bastante.

 

Abraço e bom final de semana!

--
José Henrique (Zote)
Bludata Software

 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a