crawler 1 Denunciar post Postado Julho 9, 2010 Pessoal, estava eu desenvolvendo uma classe de persistência de dados, mas como sou leigo nessa parte avançada do delphi, acabei ficando perdido, com o tipo variante, para armazenar qualquer tipo de dado. procedure TField.set_AsString(Value: String); begin FoValue := Value; end; Dá o seguinte erro em execução : 'Invalid variant type', quando tento armazenar uma string nessa variável. Alguém sabe como faço para armazenar uma string nessa variável, ou se posso usar outro tipo de dado genérico, para armazenar vários tipos de dados? Por favor, preciso de ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Geovane Velmer 0 Denunciar post Postado Julho 9, 2010 Alguém sabe como faço para armazenar uma string nessa variável, ou se posso usar outro tipo de dado genérico, para armazenar vários tipos de dados? Por favor, preciso de ajuda. Olá amigo, tente o tipo Variant.. Exemplo: var Dado: Variant; bInteiro: Boolean; begin bInteiro:= True; //-- Define se a variavel ira receber valor inteiro ou nao if bInteiro then Dado:= 1000 //-- Recebe valor inteiro else Dado:= 'Não é um valor inteiro!'; //-- Recebe uma String if bInteiro then ShowMessage(IntToStr(Dado)) //-- Se for inteiro converte para string else //-- para pode mostrar na msg ShowMessage(Dado); //-- Se não for mostra o dado.. end; O tipo variant assume o tipo que você carregar nele.. Espero que ajude.. Abraços e boa sorte! Compartilhar este post Link para o post Compartilhar em outros sites
crawler 1 Denunciar post Postado Julho 13, 2010 Caro Geovane Velmer, obrigado pela sua atenção. Realmente você estava com razão quanto ao tipo variant, na verdade esse método pertence a uma classe que carrega uma lista de campos do banco de dados e compara com o campo que chama na função por parametro fazendo assim o "fieldbyname". Meu erro na verdade é que eu estava chamando errado a função ex: dataset.fieldbyname('campo '), esse espaçamento ai tava fazendo ficar errado. Resolvido. Compartilhar este post Link para o post Compartilhar em outros sites