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.

Pasar objeto como parametro

Foro público de Xailer en español
Responder
jrcsistemas
Mensajes: 180
Registrado: Lun Sep 15, 2008 2:53 pm

Pasar objeto como parametro

Mensaje por jrcsistemas »

Hola.
Tengo en un formulario abierta una base de datos con TMySQLDataSource. En
ese formulario pido un codigo por pantalla y lo tengo que verificar usando
una funcion que esta en un PRG de funciones varias.
Le paso a la funcion BuscarCliente( oCodigo:Value ) // TEdit
y en esta quiero hacer uso de la base que tengo abierta en el otro
formulario :
cSelect := "Select * From Clientes Where CODIGO ='"+ cDato + "'"
::oBase:Execute ( cSelect,,@aData) // linea 77
y me el error
BUSCARCLIENTE(77)
Error BASE/1003 Variable does not exist: SELF
Argumentos: ()
Como hago? Le paso el objeto de la base como parámetro ? por referencia ?
Gracias
Juan
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Pasar objeto como parametro

Mensaje por jfgimenez »

Juan,
> Tengo en un formulario abierta una base de datos con TMySQLDataSource. En
> ese formulario pido un codigo por pantalla y lo tengo que verificar usando
> una funcion que esta en un PRG de funciones varias.
> Le paso a la funcion BuscarCliente( oCodigo:Value ) // TEdit
> y en esta quiero hacer uso de la base que tengo abierta en el otro
> formulario :
>
> cSelect := "Select * From Clientes Where CODIGO ='"+ cDato + "'"
>
> ::oBase:Execute ( cSelect,,@aData) // linea 77
>
> y me el error
>
> BUSCARCLIENTE(77)
> Error BASE/1003 Variable does not exist: SELF
> Argumentos: ()
>
> Como hago? Le paso el objeto de la base como parámetro ? por referencia ?
Lláma a la función así:
BuscarCliente( oCodigo:Value, ::oBase )
y despúes la declaras así:
FUNCTION BuscarCliente( cDato, oBase )
...
oBase:Execute ( cSelect,,@aData)
...
Fijate que dentro de la función se usa directamente el objeto oBase que
recibe, y no ::oBase
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jrcsistemas
Mensajes: 180
Registrado: Lun Sep 15, 2008 2:53 pm

Pasar objeto como parametro

Mensaje por jrcsistemas »

José
Muchas gracias por tu respuesta.
Juan
Responder