Me llamo José Enrique y programo Visual Basic. Hace poco me han pedido hacer
un servicio NT que consulte los buzones de las personas, mire sus citas y si
alguna concuerda con el momento actual entonces envie información a otras
aplicaciones por UDP. Mi problema es que el programa mira todo bien la
primera vez, la segunda vez da error de operation failed en diferentes
métodos y la tercera vez que intenta acceder a los buzones casca y finaliza.
El código es el siguiente: (para hacer login utilizo una cadena de conexion
y como base el nombre del servidor Exchange y el nombre del usuario en
Exchange).
Agradeceria si alguien pudiese ayudarme porque estoy desesperado y no veo el
fallo.
Gracias.
El codigo es el siguiente
While not g_bFin ( g_Fin será True cuando el usuario de la aplicación
detenga el servicio)
For i=0 to iUsers-1
bCheck = bCheckMailbox(ExchangeAlias(i))
next
lTime = Timer
While Timer <= lTime + 30000
DoEvents
Wend
Wend
Function bCheckMailBox(BVal cAlias as string) as Boolean
(declaracion de variables)
On Error Goto ErrorPoint:
Set ObjSesion = new Session
ObSesion.Logon cAlias
Set ObjCalendar objSession.GetDefaultFolder(MAPI.CdoDefaultFolderCalendar)
Set ObjColAppointments = objCalendar.Messages
Set ObjFilter = ObjColAppointments.Filter
objFilter.Fields.Add CdoPR_START_DATE, Now-7
objFilter.Fields.Add CdoPR_END_DATE, Now+7
cNow = Format$(Now,"yyyymmdd hhnnss")
For each ObjAppointment in ObjColAppointments
cState = ObjAppointment.BusyStatus
cStartDate = Format$(ObjAppointmen.StartDate,"yyyymmdd hhnnss")
cEndDate = Format$(ObjAppointment.EndDate,"yyyymmdd hhnnss")
If cStartDate <= cNow And cEndDate>=Now then
cUserState = cState
cUserStart = cStartDate
cUserEnd = cEndDate
Exit for
endIf
Next
Set ObjCalendar = Nothing
Set objColAppointments = Nothing
Set ObjFilter = Nothing
ObjSession.Logout
bCheckMailBox = True
Exit Function
ErrorPoint:
bCheckMailBox = False
Set ObjCalendar = Nothing
Set objColAppointments = Nothing
Set ObjFilter = Nothing
ObjSession.Logout
End Function
Leer las respuestas