Fórum Conversão de Tipos #292551
22/08/2005
0
Foxcyber
Curtir tópico
+ 0Posts
22/08/2005
Michael
A diferença principal entre [b:3281c0fdf1]Variant [/b:3281c0fdf1]e [b:3281c0fdf1]OleVariant [/b:3281c0fdf1]é que o primeiro contém dados que apenas a aplicação corrente sabe o que fazer com eles, enquanto o segundo deve conter tipos de dados compatíveis com [b:3281c0fdf1]OLE Automation[/b:3281c0fdf1].
Portanta, para vc atribuir uma string para um OleVariant, basta proceder como no tipo nativo Variants. A biblioteca de controle vai fazer as conversões necessárias.
[]´s
Gostei + 0
22/08/2005
Foxcyber
Gostei + 0
22/08/2005
Massuda
Gostei + 0
22/08/2005
Michael
Testei aqui e funcionou. Faça vc mesmo para ver: coloque um botão em um form, e digite no seu evento OnClick:
procedure TForm1.Button1Click(Sender: TObject); var OV : OleVariant; S : string; begin OV := ´Delphi´; Caption := OV; S := OV; Button1.Caption := S; end;
Ambos os Captions do form e do botão deverão ficar definidos como ´Delphi´.
Talvez o erro esteja acontecendo com vc pq a variável OleVariant não contenha uma string. Vc deve verificar antes de atribuí-la, portanto.
Consulte no help do Delphi pelas funções: [b:3e6d778534]VarIsStr[/b:3e6d778534], [b:3e6d778534]VarIsType [/b:3e6d778534]e [b:3e6d778534]VarType[/b:3e6d778534].
[]´s
Gostei + 0
22/08/2005
Foxcyber
Gostei + 0
22/08/2005
Adriano Santos
procedure TForm1.Button1Click(Sender: TObject); var OV : OleVariant; S : string; begin OV := ´Delphi´; Caption := OV; S := OV; Button1.Caption := S; end;
[b:7f8b70dac8]Michael[/b:7f8b70dac8], aqui também funcinou sem problemas do jeito que vc passou.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)