TYPE MISMATCH
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"?
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"?
Ahh seila antes de jogar pro label converta pra uma string o valor
Label1.Caption = Str(Valor)
Label1.Caption = Str(Valor)
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
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
Tudo bem, mas porque dá erro apenas em algumas máquinas e noutras não...?
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??
Alguém tem alguma dica de como contornar este problema??
Tópico encerrado , respostas não são mais permitidas