Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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.
>
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
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!