Saludos:
Podéis hacer el favor de revisar este trozo de código haber lo que hago
mal según la documentación dice que devuelve la posición o menos uno si
hay error.
METHOD FormShow( oSender ) CLASS FormCensosNew
LOCAL nPos
** Si el ComboBox no está vacio y si estamos añadiendo
IF Len(::oDBCBPais:aItems) > 0 .AND. ::lAnadir
IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
::oDBCBPais:nIndex := nPos
ENDIF
ENDIF
RETURN Nil
Vale pues me selecciona el registro que tiene las iniciales de España
"ESP" pero me suelta este error.
***************************** Registro de errores
*****************************
Fecha: 22/10/2006
Hora: 10:38:23
Memoria libre: 206896
Area actual: 5
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 1.1.0 Version 1.1
Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: BASE
Código de error: 1082
Estado: .F.
Descripción: Error de argumento
Operación: -
Argumentos: [ 1] = Tipo: L Valor: .T. [ 2] = Tipo: N Valor:
1
Fichero:
Código error SO: 0
Pila de llamadas:
(b)XCOMBOBOX:XCOMBOBOX (109)
TDBCOMBOBOX:SETCURSEL (0)
TDBCOMBOBOX:_NINDEX (374)
FORMCENSOSNEW:FORMSHOW (90)
FORMCENSOSNEW:ONSHOW (0)
TSCROLLINGWINCONTROL:SHOW (589)
FORMCENSOSNEW:SHOW (436)
FORMCENSOSNEW:SHOWMODAL (0)
TFORMCENSOS:ADDNEW (316)
(b)TFORMCENSOS:CREATEFORM (333)
TTOOLBUTTON:ONCLICK (0)
(b)XTOOLBUTTON:XTOOLBUTTON (45)
TTOOLBUTTON:CLICK (0)
TTOOLBAR:COMMAND (327)
TSCROLLINGWINCONTROL:WMCOMMAND (258)
TFORMCENSOS:WMCOMMAND (879)
TFORMCENSOS:SHOWMODAL (0)
TFORMMENU:CENSOS (304)
(b)TFORMMENU:INICIALIZAFORM (88)
TMENUITEM:ONCLICK (0)
TMENU:DOACTION (213)
TMENU:DOACTION (218)
TMENU:DOACTION (218)
TFORMMENU:WMCOMMAND (872)
RUNFORM (0)
TAPPLICATION:RUN (206)
MAIN (35)
------------------ Información detallada de áreas de trabajo
------------------
Area: 1
Alias: CLUB
Registro: 1
Filtro:
Relación:
Orden del índice: 1
Clave activa: 1
Area: 2
Alias: CONCURSA
Registro: 113
Filtro:
Relación:
Orden del índice: 1
Clave activa: 1
Area: 3
Alias: CENSOS
Registro: 27
Filtro:
Relación:
Orden del índice: 4
Clave activa: 4
Area: 4
Alias: TCENSOS
Registro: 1
Filtro:
Relación:
Orden del índice: 1
Clave activa: 1
Area: 5
Alias: COUNTRY
Registro: 1
Filtro:
Relación:
Orden del índice: 4
Clave activa: 4
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
SelectString
SelectString
José Ramón Castro.
SelectString
José Ramón,
> Podéis hacer el favor de revisar este trozo de código haber lo que
> hago mal según la documentación dice que devuelve la posición o menos
> uno si hay error.
creo que tienes mal puestos los paréntesis.
> IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
Tal como está, estás asignando un valor lógico a nPos ( ... > 0 ). Si he
entendido bien lo que quieres hacer, debería ser así:
IF ( nPos := ::oDBCBPais:SelectString( "ESP ", 1 ) ) > 0
Saludos,
José Lalín
> Podéis hacer el favor de revisar este trozo de código haber lo que
> hago mal según la documentación dice que devuelve la posición o menos
> uno si hay error.
creo que tienes mal puestos los paréntesis.
> IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
Tal como está, estás asignando un valor lógico a nPos ( ... > 0 ). Si he
entendido bien lo que quieres hacer, debería ser así:
IF ( nPos := ::oDBCBPais:SelectString( "ESP ", 1 ) ) > 0
Saludos,
José Lalín
SelectString
Gracias a veces un paréntesis da mucha lata he evaluado y claro me daba
que nPos era un valor lógico y en cambio en el formulario se posicionaba
en el sitio correcto, en fin suponía que algo hacía mal pero no lo veía.
José Ramón Castro.
José Lalín escribió:
>
> José Ramón,
>
>> Podéis hacer el favor de revisar este trozo de código haber lo que
>> hago mal según la documentación dice que devuelve la posición o menos
>> uno si hay error.
>
> creo que tienes mal puestos los paréntesis.
>
>> IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
>
> Tal como está, estás asignando un valor lógico a nPos ( ... > 0 ). Si he
> entendido bien lo que quieres hacer, debería ser así:
>
> IF ( nPos := ::oDBCBPais:SelectString( "ESP ", 1 ) ) > 0
>
> Saludos,
> José Lalín
que nPos era un valor lógico y en cambio en el formulario se posicionaba
en el sitio correcto, en fin suponía que algo hacía mal pero no lo veía.
José Ramón Castro.
José Lalín escribió:
>
> José Ramón,
>
>> Podéis hacer el favor de revisar este trozo de código haber lo que
>> hago mal según la documentación dice que devuelve la posición o menos
>> uno si hay error.
>
> creo que tienes mal puestos los paréntesis.
>
>> IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
>
> Tal como está, estás asignando un valor lógico a nPos ( ... > 0 ). Si he
> entendido bien lo que quieres hacer, debería ser así:
>
> IF ( nPos := ::oDBCBPais:SelectString( "ESP ", 1 ) ) > 0
>
> Saludos,
> José Lalín
José Ramón Castro.