type Mismatch

DAOP
22 de Noviembre del 2005
Gracias anticipadas por sus comentarios.
Tengo un aplicativo al cual le genero instaladores en diferentes versiones de windows. Este aplicativo lo instalo en diferentes máquinas de acuerdo a la versión de windows (98, 2000 y XP) que tenga. El problema es que solo en algunas máquinas, independientemente del S.O, al momento de hacer referencia en un datacombo cuando se hace la carga del formulario respectivo, sale el mensaje "Type mismatch". Lógicamente no se cargan los datos que existen en el mdb al cual esta conectado. Por el código fuente he podido ver que el problema podría estar en la referencia al msado21.tlb. Qué es lo que podría estar pasando y cómo puedo solucionarlo?, pues hasta he llegado ha reinstalar windows en algunas máquinas y el aplicativo sigue con el mismo problema, y otros he renombrado el archivo msado21.tlb y si ha funcionado. Este problema solo se presenta en 3 máquinas de 25 en los cuales si funciona.

mvallejos
22 de Noviembre del 2005
El Error Type Mismach equivale al error No coinciden los tipos.
Esto sucede en algunos entornos operativos, dependiendo de su configuración.
Generalmente, VB hace la conversión implícita de tipos de datos, pero, a veces, el SO no tiene la configuración necesaria para eso.
Por ejemplo

Dim Nro as Integer
Nro = Text1.Text

Teóricamente, VB convierte implícitamente el string del texto a un dato de tipo numérico para poder asignárselo a la variable, pero, a veces eso no sucede.
La solución es siempre forzar el tipo de dato, si usas

Nro = Val(Text1.Text)

Eso no te va a fallar nunca, ya que vos sos quien fuerza la conversión de tipo sin depender del entorno operativo.

Saludos