NO SE ENCUENTRA EL ARCHIVO NETAPI32.DLL!! URGENTE
Publicado por Franlibert (193 intervenciones) el 04/11/2005 18:23:21
hola colega, tengo un gran problema con mi aplicacion, el equipo que estoy
programando tiene sistema operativo Windows Xp funciona perfectamente pero en
los usuarios de windows 98 no, he realizo la codificación para asignar a mi
programa la hora del servidor al grabar los registros pero cuando intento
correr el sistema en las pc con windows 98 me muestra un mensaje de error que
dice que "No se encuentra el archivo Netapi32.Dll" al buscar el archivo en la
maquina donde muestra el error lo encuentro en la carpeta C:\Windows\System\
ya que tambien cuando hize el empaquetado para la instalacion fue agregado.
Que podra suceder con este error y como podre solucionarlo??? Gracias por la
ayuda, se que este material puede ser provechoso para muchos amigos mas.
Este es el codigo que empleo para la hora, luego se llama a la funcion para
ejecutarla:
Public Declare Function NetRemoteTOD Lib "NETAPI32.DLL" _
(yServer As Any, _
pBuffer As Long) As Long
Public Declare Function NetApiBufferFree Lib "NETAPI32.DLL" _
(ByVal lpBuffer As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(hpvDest As Any, _
hpvSource As Any, _
ByVal cbCopy As Long)
Private Type TIME_OF_DAY
Elapsedt As Long
Msecs As Long
Hours As Long
Mins As Long
Secs As Long
Hunds As Long
Timezone As Long
Tinterval As Long
Day As Long
Month As Long
Year As Long
Weekday As Long
End Type
Const NERR_SUCESS = 0
Public Function fndServertime() As Date
Dim udtTime As TIME_OF_DAY
Dim pudtTime As Long
Dim lResult As Long
Dim abServer() As Byte
Dim dServDate As Date
Dim PserveRName As String
Dim TPTR
PserveRName = "SERVIDOR"
'Este nombre le buscas en el entorno de RED para saber
'como se llama, bajo la red de Windows, el servidor de datos
abServer = "\\" & PserveRName
lResult = NetRemoteTOD(abServer(0), pudtTime)
If lResult = NERR_SUCESS Then
'Ahora hay que copiar esa zona de memoria a nuestro udt.
CopyMemory udtTime, ByVal pudtTime, Len(udtTime)
NetApiBufferFree (TPTR)
'Por ultimo montamos la fecha
With udtTime
dServDate = DateSerial(.Year, .Month, .Day)
dServDate = dServDate + TimeSerial(.Hours, .Mins - .Timezone, .Secs)
fndServertime = dServDate
Date = dServDate
End With
Else
'Error. Poner tratamiento de errores (Ej: no existe el servidor)
End If
End Function
programando tiene sistema operativo Windows Xp funciona perfectamente pero en
los usuarios de windows 98 no, he realizo la codificación para asignar a mi
programa la hora del servidor al grabar los registros pero cuando intento
correr el sistema en las pc con windows 98 me muestra un mensaje de error que
dice que "No se encuentra el archivo Netapi32.Dll" al buscar el archivo en la
maquina donde muestra el error lo encuentro en la carpeta C:\Windows\System\
ya que tambien cuando hize el empaquetado para la instalacion fue agregado.
Que podra suceder con este error y como podre solucionarlo??? Gracias por la
ayuda, se que este material puede ser provechoso para muchos amigos mas.
Este es el codigo que empleo para la hora, luego se llama a la funcion para
ejecutarla:
Public Declare Function NetRemoteTOD Lib "NETAPI32.DLL" _
(yServer As Any, _
pBuffer As Long) As Long
Public Declare Function NetApiBufferFree Lib "NETAPI32.DLL" _
(ByVal lpBuffer As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(hpvDest As Any, _
hpvSource As Any, _
ByVal cbCopy As Long)
Private Type TIME_OF_DAY
Elapsedt As Long
Msecs As Long
Hours As Long
Mins As Long
Secs As Long
Hunds As Long
Timezone As Long
Tinterval As Long
Day As Long
Month As Long
Year As Long
Weekday As Long
End Type
Const NERR_SUCESS = 0
Public Function fndServertime() As Date
Dim udtTime As TIME_OF_DAY
Dim pudtTime As Long
Dim lResult As Long
Dim abServer() As Byte
Dim dServDate As Date
Dim PserveRName As String
Dim TPTR
PserveRName = "SERVIDOR"
'Este nombre le buscas en el entorno de RED para saber
'como se llama, bajo la red de Windows, el servidor de datos
abServer = "\\" & PserveRName
lResult = NetRemoteTOD(abServer(0), pudtTime)
If lResult = NERR_SUCESS Then
'Ahora hay que copiar esa zona de memoria a nuestro udt.
CopyMemory udtTime, ByVal pudtTime, Len(udtTime)
NetApiBufferFree (TPTR)
'Por ultimo montamos la fecha
With udtTime
dServDate = DateSerial(.Year, .Month, .Day)
dServDate = dServDate + TimeSerial(.Hours, .Mins - .Timezone, .Secs)
fndServertime = dServDate
Date = dServDate
End With
Else
'Error. Poner tratamiento de errores (Ej: no existe el servidor)
End If
End Function
Valora esta pregunta


0