TYPE MISMATCH

USUARIO.EXCLUIDOS 11/06/2005 20:58:11
#88468
Viva,
a minha aplicação dá erro type mismatch ao utilizar em máquinas com Windows NT e 2000 (sem VB) e no Windows XP (com VB) funciona bem.

O erro ocorre no momento em que estão a ser enviados valores integer para labels.

Porque acontece isto?

E já agora, notei que no meu pc, se fizer Val(97%), o resultado é 97, ou seja, é ignorado o "%". Será que nas outras máquinas o Val(97%) poderá estar causando o "type mismatch"?
ALEXANDRE.SANTO 11/06/2005 21:16:14
#88471
Ahh seila antes de jogar pro label converta pra uma string o valor



Label1.Caption = Str(Valor)
FABIO.ALEXANDRE 11/06/2005 21:19:59
#88472
BOM,
A FUNCÃO VAL() C TIVER STRING NA FRENTE ELA RETORNA ZERO(0) ESSE NAUM é O MOTIVO PARA O TYPE MISMATCH

O Q PODE ESTA ACONTECENDO é VC ESTA TENTANDO SOMAR ALGUM VALOR NO LABEL SEM TRATAMENTO TIPO

LABEL1=LABEL1 + 1
QUALQUER VALOR NA LABEL, ELE NO VB é TRATADO COMO UMA STRING
VAMOS IMAGINAR O SEQUINTE :
LABEL = 10,00
LABEL=LABEL+10
[txt-color=#00ff00]RESULTADO
LABEL=10,0010[/txt-color]
C VC UTILIZA ESSA MANEIRA NAUM ESQUEÇA DE DEIXAR O LABEL INICIALIZADO COM VALOR
LABEL1="0,00"
LABEL1=CDBL(LABEL1) + [txt-color=#ffff00]X[/txt-color]
E [txt-color=#ffff00]X[/txt-color] DEVE SER UM VALOR NUMERICO

ESPERO TER AJUDADO
USUARIO.EXCLUIDOS 12/06/2005 04:27:02
#88486
Tudo bem, mas porque dá erro apenas em algumas máquinas e noutras não...?
USUARIO.EXCLUIDOS 12/06/2005 06:46:20
#88490
Já descobri qualquer coisa... o problema é que nos USA usa-se o ponto como separador decimal, (90.5%) e na Europa usa-se a virgula (90,5%). Talvez os "Windows" dos PCs em que testei, sejam de diferentes origens!!!

Alguém tem alguma dica de como contornar este problema??
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas