Como posso converter wideString para OleVariante?

Delphi

24/09/2007

Estou tentando fazer isso no delphi, e estou usando um a função BinaryStringToByteArray(objeto).

o objeto é um wideString e o resultado da função é o retorno como OleVariante....
Blz, funciona perfeitamente, ou melhor, quase...

Esta dando um problema pq na converção, ele coloca espaços entre quase todos os caracters, oq faz com que o arquivo quando tento salva-lo fique com quase o dobro do tamanho doque esperado.

Alguem pode me falar pq acontece, e melhor como posso resolver isso?


R3n4n

R3n4n

Curtidas 0

Respostas

Diegus

Diegus

24/09/2007

Tudo que vc jogar nesta função vira um OleVariant...

Veja se é isso....

function ConvertOleVariant ( OleVariable : OleVariant ) : OleVariant;
begin
Result := OleVariable;
end;


GOSTEI 0
R3n4n

R3n4n

24/09/2007

Ele compila, pq ele fica esperando uma widestring e recebe uma olevariante, ai da erro.

Eu consigo converter com a função BinaryStringToByteArray
Mas com essa função o arquivo fica cheio dos espaços em branco...

Eu pesquisei na net e fiquei sabendo que é algo sobre o encodingo UTF8 e Unicode, quando uso a função ele faz como padrao o UNICODE que deixa esses espaços em brancos, eu queria saber como usar a função encodando com UTF8.


GOSTEI 0
Jakefrog

Jakefrog

24/09/2007

Pessoal preciso converter uma TByteDynArray para String.

Alguém tem alguma idéia?

Obrigado!


GOSTEI 0
Jakefrog

Jakefrog

24/09/2007

Descupem era pra abrir um tópico novo! E sem querer coloquei aqui! :oops:


GOSTEI 0
Thiago Vidal

Thiago Vidal

24/09/2007

cara, verifica se as funções UTF8Encode e UTF8Decode, podem te ajudar em alguma coisa.

pra converter as coisas pra OleVariant, quando começa a dar problema, eu costumo converter para Variant primeiro, e depois associar este Variant no OleVariant, costuma funcionar em alguns casos mais problematicos.

um abraço.


GOSTEI 0
POSTAR