Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Overriding

#1
Muy buena la informacion sobre el registro, nada mas que tengo un problema, Me sale el siguiente error :
CitarError '49' en tiempo de ejecucion: La convención de llamadas a DLL es incorrecta.
Tengo declarada la funcion como se indica en el posting "Manejo basico del registro" asi :
CitarPublic Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long         ' Note that if you declare the lpData parameter as String, you must pass it By Value.
y la llamo asi :
Citari = leerS("saludo")
No se que pasa porque las otras funciones: crear, valorS; me funcionan muy bien pero a la hora de solo querer leer me meto en problemas ya probe quitandole la declaracion ByVal asi:
CitarFunction leerS(nombre As String) As Long
   buffer = String(256, 0)
   leerS = RegQueryValueEx(h, nombre, 0, REG_SZ, buffer, Len(buffer))
End Function
y ya con eso no me sale el error de la dll, sin embargo no toma el valor de la llave, al debuguear en la variable buffer me indica en su valor : No coinciden los tipos y en el Tipo : Variant/<Tipo variant no compatible>

Alguien sabe en donde esta el problema