FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Objetos en Array
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Objetos en Array
Posted: Fri Oct 31, 2008 03:56 PM

Hola,

Tengo que pasar varias veces unos cuantos Objetos como referencia a una funci贸n en la que se refrescan estos objetos.

Mi consulta es: 驴Puedo guardar los objetos en un array y pasar ese array como referencia y luego, dentro de la funci贸n receptora del array, extraer los objetos del array para procesarlos?

Gracias.

Rolando :D

Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Objetos en Array
Posted: Fri Oct 31, 2008 05:21 PM
rolando wrote:Hola,

Tengo que pasar varias veces unos cuantos Objetos como referencia a una funci贸n en la que se refrescan estos objetos.

Mi consulta es: 驴Puedo guardar los objetos en un array y pasar ese array como referencia y luego, dentro de la funci贸n receptora del array, extraer los objetos del array para procesarlos?

Gracias.

Rolando :-)


Si puede hacerse, tambi茅n puedes declarar inicialmente un array que agrupe todos los objetos que utilices o la parte de ellos que sea necesario y referir los objetos por medio del array y su sub铆ndice correspondiente

Declarando ese array como privado, static o public segun corresponda puedes evitar tener que pasarlo de una funci贸n a otra.

Hay muchas opciones.
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Objetos en Array
Posted: Fri Oct 31, 2008 05:50 PM

Rolando,

Los objetos al igual que los arrays, siempre se pasan por referencia de forma autom谩tica.

Un objeto en realidad es un array con un puntero interno a la clase a la que pertenece.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Objetos en Array
Posted: Sat Nov 01, 2008 02:11 AM
Antonio Linares wrote:Rolando,

Los objetos al igual que los arrays, siempre se pasan por referencia de forma autom谩tica.

Un objeto en realidad es un array con un puntero interno a la clase a la que pertenece.


Antonio, puedes explicarlo con un poco m谩s de detalle, es algo que me interesa mucho entender....

Gracias desde ya por tu paciencia.
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Objetos en Array
Posted: Sat Nov 01, 2008 10:09 AM
Jos茅,

Un array contiene y puede contener mucha informaci贸n, por lo que no es pr谩ctico ir moviendo esa informaci贸n de un sitio a otro. En vez de eso, lo que se pasa de un sitio a otro es su "direcci贸n", es decir, en "donde est谩". A eso le decimos que se pasa por "referencia".

Clipper, para implementar los objetos, lo que hizo fu茅 usar arrays, que son un "conjunto de datos" y dotarles de unos determinados comportamientos, definidos por la "clase" a la que pertenecen. Este modelo se implement贸 de igual forma en Harbour/xHarbour.

Para comprobar que un objeto es un array, puedes hacer:

MsgInfo( Len( ErrorNew() ) ) // ErrorNew() crea un objeto error.

De la misma forma puedes acceder a sus datos directamente, como si fuese un array:
oError = ErrorNew()

for n = 1 to Len( oError )
   MsgInfo( oError[ n ] )
next

Internamente al array se le ha asociado un "puntero" a su clase, asi se sabe como ha de comportarse al recibir determinados mensajes.

Si tienes alguna duda m谩s, con gusto intentar茅 ayudar :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion