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.

Funcionamiento de WITH OBJECT

Foro público de Xailer en español
Responder
Jaime Irurzun
Mensajes: 67
Registrado: Mar Nov 02, 2004 6:23 pm

Funcionamiento de WITH OBJECT

Mensaje por Jaime Irurzun »

Hola,
No tengo muy claro cuál es el funcionamiento de la estructura WITH
OBJECT...END, y como veo que en Xailer se usa muchí­simo me gustarí­a
saberlo bien. Creo que se trata de lo siguiente:
WITH OBJECT ::oBtnInsertar := TButton():New( Self )
:SetBounds( 16, 335, 80, 25 )
:cText := "&Insertar"
:nAnchors := akLEFTBOTTOM
:OnClick := "BtnInsertarClick"
:Create()
END
¿Eso equivale a esto otro?
::oBtnInsertar := TButton():New( Self )
::oBtnInsertar:SetBounds( 16, 335, 80, 25 )
::oBtnInsertar:cText := "&Insertar"
::oBtnInsertar:nAnchors := akLEFTBOTTOM
::oBtnInsertar:OnClick := "BtnInsertarClick"
::oBtnInsertar:Create()
Es decir, ¿el WITH OBJECT sirve para escribir código más legible (que
desde luego lo hace si realmente lo de arriba es equivalente a lo de
abajo), o hace algo más?
También he visto cosas como esta:
WITH OBJECT TIni():New( ".ArchivoIni.ini" )
:GetEntry( "SECCION", "Entrada", xDefault )
END
En este caso ni siquiera se usa una variable objeto (como en el caso de
arriba, donde aparece ::oBtnInsertar). ¿También el WITH OBJECT te ahorra
declarar una variable para el objeto y lo hace él internamente si no lo
especificas? Son todo suposiciones mí­as... lo que pasa es que me
gustarí­a saber si esto es realmente así­. Muchas gracias a quien me lo
aclare :)
--
Un saludo,
Jaime Irurzun.
www.codigoescrito.com
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Funcionamiento de WITH OBJECT

Mensaje por jlalin »

Jaime,
tú mismo lo has explicado :-) Sólo añadir que también es posible anidar
sentencias WITH OBJECT dentro de otras.
Saludos,
José Lalí­n
Jaime Irurzun
Mensajes: 67
Registrado: Mar Nov 02, 2004 6:23 pm

Funcionamiento de WITH OBJECT

Mensaje por Jaime Irurzun »

Gracias José,
Sólo una duda: ¿y en qué casos puede ser útil anidar estructuras WITH
OBJECT?
--
Un saludo,
Jaime Irurzun.
www.codigoescrito.com
José Lalí­n escribió:
>
> Jaime,
>
> tú mismo lo has explicado :-) Sólo añadir que también es posible anidar
> sentencias WITH OBJECT dentro de otras.
>
> Saludos,
> José Lalí­n
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Funcionamiento de WITH OBJECT

Mensaje por jfgimenez »

Jaime,
> Sólo una duda: ¿y en qué casos puede ser útil anidar estructuras WITH
> OBJECT?
Cuando uno de los miembros del objeto que estás usando en el primer WITH
OBJECT es a su vez otro objeto. P.ej.:
WITH OBJECT ::oTreeView1
WITH OBJECT :oImageList
:Add( "Imagen1" )
:Add( "Imagen2" )
:Add( "Imagen3" )
END
:AddItem( "Uno", 1 )
:AddItem( "Dos", 2 )
:AddItem( "Tres", 3 )
END
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Funcionamiento de WITH OBJECT

Mensaje por jlalin »

Jaime,
> Sólo una duda: ¿y en qué casos puede ser útil anidar estructuras WITH
> OBJECT?
tal como dice Jose F., como norma general suele usarse con objetos de
tipo contenedor.
Saludos,
José Lalí­n
Jaime Irurzun
Mensajes: 67
Registrado: Mar Nov 02, 2004 6:23 pm

Funcionamiento de WITH OBJECT

Mensaje por Jaime Irurzun »

Gracias a los dos,
Ya lo tengo claro.
--
Un saludo,
Jaime Irurzun.
www.codigoescrito.com
José Lalí­n escribió:
>
> Jaime,
>
>> Sólo una duda: ¿y en qué casos puede ser útil anidar estructuras WITH
>> OBJECT?
>
>
> tal como dice Jose F., como norma general suele usarse con objetos de
> tipo contenedor.
>
> Saludos,
> José Lalí­n
Responder