Error de Compilación en Addressof Vba Access

Como decía en la anterio pregunta, estoy pasado un código de 32 bits a 64 que es para sacar fotografías con una cámara web, ahora tropiezo con el problema de referencia en este código:

Private Sub Form_Open(Cancel As Integer)
Dim lpszName As String * 100
Dim lpszVer As String * 100
Dim Caps As CAPDRIVERCAPS
capGetDriverDescriptionA 0, lpszName, 50, lpszVer, 50
lwndC = capCreateCaptureWindowA(lpszName, WS_CAPTION Or WS_THICKFRAME Or WS_VISIBLE Or WS_CHILD, 0, 0, 160, 120, Me.hwnd, 0)
SetWindowText lwndC, lpszName
capSetCallbackOnStatus lwndC, AddressOf MyStatusCallback
capSetCallbackOnError lwndC, AddressOf MyErrorCallback
If capDriverConnect(lwndC, 0) Then
capDriverGetCaps lwndC, VarPtr(Caps), Len(Caps)
capPreviewScale lwndC, True
capPreviewRate lwndC, 66
capPreview lwndC, True
ResizeCaptureWindow lwndC

End If

End Sub

Soy nuevo en programación, perdón por molestar tanto, ¿alguien conoce la solución?. El error indica error de compilación. No coinciden los tipos.  Y marca con amarillo Private Sub Form_Open(Cancel As Integer)

Respuesta
2

No sé de dónde habrás sacado el código, pero talmente parece que el MyStatusCallback te sobra, o bien hace referencia a algo (por la pinta yo diría que una llamada a un procedimiento de un ribbon personalizado) que no tienes en tu BD.

También puede ser que la función requiera de tres parámetros, en cuyo caso te falta una coma entre el AddressOf y el MyStatusCallback

También veo que tienes dos lineas idénticas seguidas, y eso me escama.

Lo dicho, poco más te puedo decir porque desconozco el código y la declaración de esa API.

Un saludo.


Upsss! Me colé con el comentario de las dos líneas iguales... pues no lo son...

:-S

1 respuesta más de otro experto

Respuesta
1

Rochelo: Ya que la pregunta me sale sugerida, aportaré mi grano de arena.

Quizá ese código quieras utilizarlo para capturar imagenes de una WebCam.

Si eso fuera así y no estoy metiendo la pata, ya que no soy especialista en el tema, te sugiero mires en la Web de Jefferson. Ejemplo 50

https://sites.google.com/site/jjjt1973/ejemplos-access 

Y en la Web del Buho. Un poco más antiguo

http://www.mvp-access.es/buho/todos.asp?pag=84
Si no fuera así lamento la confusión. Mis saludos >> Jacinto

Rochelo: estaba repasando ésta respuesta, y he pensado que si pasas de 32 a 64 bits y no cambias las declaraciones de Declare a Declare PtrSafe, vas a tener una fuente de problemas grande.

Por si no lo conoces, mira éste enlace que lo explica bien.

https://msdn.microsoft.com/library/gg264421.aspx 

Mis saludos >> Jacinto

El código que bajé es de buho, que es el que se ajusta mejor, ya que quiero almacenar las imágenes en una tabla.  Las tablas están diseñadas en mysql y vinculadas a access, el problema es que si el sistema operativo es de 64 bits, office de 32 bits, tengo problemas con la conexión de los odbc, por eso es que quería cambiar el código para que funcione con 64 bits.

Rochelo: Aunque supongo que habrás buscado algo referente a ese tema, por si no has visto éstas Páginas, te adjunto unos Links que tratan de ello.

http://federicocinalli.com/blog/item/41-configurar-odbc-de-32-bits-en-sistema-operativo-de-64-bits#.WIX_u1xtgmM 

https://support.microsoft.com/es-es/help/942976/odbc-administrator-tool-displays-both-the-32-bit-and-the-64-bit-user-dsns-in-a-64-bit-version-of-windows

https://nksistemas.com/configurar-odbc-de-32-bits-en-windows-7-de-64-bits/ 

Me gustaría ayudarte más, pero no sé como hacerlo. Mis saludos >> Jacinto

¡Gracias! , creo que lo mejor es revisar las configuraciones de los odbc, te doy las gracias por tu colaboración, ya que siempre me ayudas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas