falla y corrección - MsgDate

falla y corrección - MsgDate

Postby carlos vargas » Tue Jul 02, 2013 1:30 am

Estimado, recientemente tuve problemas con MsgDate, porque al usarla de cierta forma se bloqueaba la app.
sucedía que la usaba de esta forma
Code: Select all  Expand view

   REDEFINE GET oFechaOfe VAR dFechaOfe ;
      ID 101 OF oFolder:aDialogs[ 1 ] ;
      BITMAP "BMS_CALEND" ;
      ACTION ( dFechaOfe:=MsgDate( dFechaOfe, "Seleccione fecha de ingreso1" , oFechaOfe ) ) ;
      PICTURE "@D"
 


pero cuando dFechaOfe estaba vacia, no se llegaba amostrar el calendario y se bloqueba la app.

revisando el fuente de dicha funcion me encontre esto:
Code: Select all  Expand view


   DEFAULT dDate := Date(), cPrompt := "Seleccione una fecha"

....

   dDate -= Day( dDate ) - 1
   while DoW( dDate ) != 2 // Monday
      dDate --
   enddo
 

le explico lo que encontré, al inicio de define dDate por defecto con el valor de la fecha actual

DEFAULT dDate = date()


ojo aca por defecto dDate tomara el valor de la fecha cuando el valor de dDate sea NIL, pero cuando dDate esta vació, dDate así se quedaba.

luego el ciclo while quedaba infinito dato que day retorna 0 para una fecha vacia.

se soluciona modificando la función así
Code: Select all  Expand view

   DEFAULT cPrompt := "Seleccione una fecha"

   IF dDate==NIL .or. Empty(dDate)
      dDate = Date()
   ENDIF
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: falla y corrección - MsgDate

Postby nageswaragunupudi » Fri Jul 05, 2013 2:00 pm

Thanks for pointing it out.
Fixed for next release. (13.06)
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10633
Joined: Sun Nov 19, 2006 5:22 am
Location: India


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 38 guests