valores de variables en ITEMS en ComboBox perdidas

valores de variables en ITEMS en ComboBox perdidas

Postby Laurel » Thu Sep 27, 2007 6:22 pm

Hola a todos!

Algo raro esta sucede y no se que es...
Tengo un programa que ya funcionaba perfectamente y ahora me manda error....

Al seleccionar una opcion de un combo en lugar de tomar el valor de la variable toma el contenido del combo. ej. tengo que la variable nSexo y puede tener solo los valores 1 o 2 pero se queda con el contenido del combo que puede ser Hombre o Mujer... y uso muchos comobos y ahora todos hacen lo mismo...

codigo:

nSexo:=1

REDEFINE COMBOBOX oSexo VAR nSexo ID 119 OF oFld:aDialogs[ 1 ] ITEMS tSexo

aqui pregunto si nSexo=1 pero ahora nSexo tiene 'Mujer'....

error:

Error description: Error BASE/1071 Argument error: =
Args:
[ 1] = C Mujer
[ 2] = N 1

estar raro... y no doy :(

Laurel

xh 0.99.71 /FWH7.01/BORLAND/WORKSHOP
Laurel
Laurel
 
Posts: 65
Joined: Fri Oct 21, 2005 8:07 pm
Location: México

Postby Antonio Linares » Thu Sep 27, 2007 8:36 pm

Comprueba que este sea el código del método Change:
Code: Select all  Expand view  RUN
METHOD Change() CLASS TComboBox

   local cItem := GetWindowText( ::hWnd ) // Current Value
   local nAt

   nAt = ::SendMsg( CB_GETCURSEL ) + 1

   if nAt == ::nAt .and. ! Empty( Eval( ::bSetGet ) )
      return nil
   endif

   ::nAt := nAt

   if ::nAt != 0 .and. ::nAt <= Len( ::aItems )
      if ValType( Eval( ::bSetGet ) ) == "N"
         Eval( ::bSetGet, ::nAt )
      else
         Eval( ::bSetGet, ::aItems[ ::nAt ] )
      endif
   endif

   if ::oGet != nil                        // Always not nil for dropdown
      ::oGet:VarPut( Eval( ::bSetGet ) )   // udate variable before calling bChange
      ::oGet:Refresh()
   endif

   if ::bChange != nil
      Eval( ::bChange, Self, cItem )
   endif

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42159
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Laurel » Thu Sep 27, 2007 9:29 pm

Hola de nuevo!

Ya revise y si esta exactamente igual....
¿que más reviso?

Laurel
Antonio Linares wrote:Comprueba que este sea el código del método Change:
Code: Select all  Expand view  RUN
METHOD Change() CLASS TComboBox

   local cItem := GetWindowText( ::hWnd ) // Current Value
   local nAt

   nAt = ::SendMsg( CB_GETCURSEL ) + 1

   if nAt == ::nAt .and. ! Empty( Eval( ::bSetGet ) )
      return nil
   endif

   ::nAt := nAt

   if ::nAt != 0 .and. ::nAt <= Len( ::aItems )
      if ValType( Eval( ::bSetGet ) ) == "N"
         Eval( ::bSetGet, ::nAt )
      else
         Eval( ::bSetGet, ::aItems[ ::nAt ] )
      endif
   endif

   if ::oGet != nil                        // Always not nil for dropdown
      ::oGet:VarPut( Eval( ::bSetGet ) )   // udate variable before calling bChange
      ::oGet:Refresh()
   endif

   if ::bChange != nil
      Eval( ::bChange, Self, cItem )
   endif

return nil
Laurel
Laurel
 
Posts: 65
Joined: Fri Oct 21, 2005 8:07 pm
Location: México


Return to FiveWin para Harbour/xHarbour

Who is online

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