SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Shiquilla en Viernes 25 de Febrero de 2011, 12:44

Título: Solución al error de "No coinciden los tipos" W7 con SP1
Publicado por: Shiquilla en Viernes 25 de Febrero de 2011, 12:44
Buenos días, ayer me instalé el SP1 de Windows 7. Cuál es mi sorpresa cuando compilo mi aplicación que utiliza las MDAC y da error "No coinciden los tipos". Testeando la aplicación, me daba error en:
Código: Visual Basic
  1. Dim cn As Adodb.Connection
  2. Set cn = new Adodb.Connection 'Aquí da ERROR NO COINCIDEN LOS TIPOS
  3.  

Mirando en Microsoft, puedes solucionar este problema haciendo:
Código: Visual Basic
  1. Dim cn As Object
  2. Set cn = CreateObject("Adodb.Connection")
  3.  

Si tienes una aplicación pequeña, recomiendo hacer esto, pero si tienes una aplicación muy grande, cambiar esto puede suponer un trabajo importante puesto que da error en cualquier objeto de las MDAC.

Microsoft ha sacado recientemente un hotfix para que los clientes que no tienen el SP1 de Windows 7, o Windows XP o cualquier otro Windows, puedan ejecutar aplicaciones que hayan sido compiladas bajo Windows 7 con SP1. Esto está muy bien, pero es que cuando el cliente tiene Windows 7 con SP1 de 32bits y tú lo has compilado en un Windows 7 de 64 bits, esa compilación tampoco funciona y, para mejorar la cosa, no puedes instalarle el Hotfix que soluciona el error (el hotfix sólo funciona para los Windows 7 que NO tienen en SP1 instalado).

Descarga del Hotfix de Microsoft: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=983246&kbln=es

Bueno, para solucionar el problema "momentáneamente", encontré una solución por internet. He realizado una copia de seguridad de las MDAC sin el SP1 puesto, me he puesto el SP1 y he vuelto a machacar las MDAC con las que tenía antes de realizar la actualización. De esta manera ya puedes compilar tus aplicaciones en Windows 7 con SP1 y que a todos tus clientes les funcione.

Los pasos a seguir son:
1. Abre el registro de sistema y ve a la siguiente clave:
   32 bits: HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib{2A75196C-D9EB-4129-B803-931327F72D5C}
   64 bits: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeClassesTypeLib{2A75196C-D9EB-4129-B803-931327F72D5C}

2. Pulsa botón derecho a la carpeta -> Permisos
3. Pulsa en Opciones avanzadas
4. Ve a Propietario, selecciona Administradores y marca la casilla "Reemplazar propietario en subcontenedores y objetos"
5. Pulsa aceptar, en la lista de usuarios, selecciona Administradores y dale permisos de Control Total.
6. Acepta

7. Ve a la siguiente carpeta:
   32 bits: C:Program FilesCommon FilesSystemado
   64 bits: C:Program Files (x86)Common FilesSystemado

8. Selecciona el fichero msado28.tlb, pulsa botón derecho -> propiedades
9. Ve a la solapa Seguridad, pulsa Opciones Avanzadas.
10. Ve a la solapa Propietario y pulsa en Editar
11. Selecciona Administradores y pulsa Aceptar, vuelve a pulsar en Aceptar
12. En la solapa Seguridad, pulsa el botón Editar, selecciona el grupo Administradores y dale permisos de Control Total
13. Acepta y vuelve a aceptar
14. Hacer lo mismo para el fichero msado27.tlb (desde el paso 8)

15. Ejecuta el bat que hay en esta carpeta
   32 bits: registrar ado 32.bat
   64 bits: registrar ado 64.bat

   
Ya puedes compilar tus aplicaciones con el SP1 de Windows 7 sin que le salga al cliente "No coinciden los tipos"

Adjunto fichero donde se encuentran las copias de seguridad de los ficheros de las MDAC y los BAT correspondientes.

Un saludo.
Título: Re: Solución al error de "No coinciden los tipos" W7 con SP1
Publicado por: cpmario en Jueves 3 de Marzo de 2011, 19:28
Muchas gracias por esa valiosa información.
 :good:
Título: Re: Solución al error de "No coinciden los tipos" W7 con SP1
Publicado por: _CF en Martes 29 de Marzo de 2011, 02:05
Gracias viejo!  

llevaba una semana dandole vueltas al asunto  :good:
Título: Re:Solución al error de "No coinciden los tipos" W7 con SP1
Publicado por: Scorpio.cu en Martes 17 de Enero de 2012, 14:57
Mil gracias.
Título: Re:Solución al error de "No coinciden los tipos" W7 con SP1
Publicado por: katodo en Lunes 23 de Enero de 2012, 23:15
Muchas gracias hermano, me has ahorrado un monton de trabajo.
Título: Re:Solución al error de "No coinciden los tipos" W7 con SP1
Publicado por: marche en Jueves 19 de Junio de 2014, 21:32
Funcionó OK. Muchas Gracias  :bravo: , ya estaba enloqueciendo   :gracias: