Power Builder - hacer referencia a una variable de una ventana

 
Vista:

hacer referencia a una variable de una ventana

Publicado por Marcelo (21 intervenciones) el 13/07/2007 15:30:45
He buscado en varios foros pero aun no puedo encontrar la
respuesta a lo que necesito hacer. Me explico:

Resulta que tengo una ventana w_1 ademas tengo una variable
si_variable y un control listbox, entonces desde esta
ventana (w_1) abro otra ventana w_2 y desde esta ventana
quiero hacer referencia la variable y al control que se
encuentran en la w_1.

La unica forma que he encontrado es que desde la ventana w_2
haga la referencia w_1.variable y w_1.listbox... pero como
lo quiero hacer es que independiente de que nombre tenga la
w_1 en la w_2 siempre pueda acceder al control.

ejemplo:
w_2.open()

window ventana

ventana = message.powerobjectparm()

ventana.lb_listado.SelectedItem()
...

desde ya muchas gracias

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE: hacer referencia a una variable de una venta

Publicado por luis (50 intervenciones) el 13/07/2007 17:29:29
No muy te entendi, pero creo que una solución es de que declares tu variable (s) como variables globales y las tendras disponibles en todo momento.

saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: hacer referencia a una variable de una venta

Publicado por Marcelo (21 intervenciones) el 13/07/2007 18:04:45
Me explico:

El tema de la variable no es tanto, pero el problema esta cuando quiero manejar un control ( en este caso un listbox) desde una segunda ventana:

Ejemplo:

ventana 1 se llama w_1
/* n ventanas pueden llamar a la ventana 2*/

ventana 2 se llama w_2
/*w_2 es un buscados que tiene que llenar un listbox que esta en la ventana que lo llamo, en este caso la ventana w_1*/

En estos momentos yo estoy haciendo lo siguiente:

if isvalid(w_haberes_por_especialidad) then
if ii_tipo = 1 then
dw_detalle.dataobject = 'd_data'
dw_detalle.settransobject(sqlca)
dw_detalle.retrieve()
for i = 1 to w_haberes_por_especialidad.lb_faenas.TotalItems ( )
w_haberes_por_especialidad.lb_faenas.SelectItem(i)
nom = w_haberes_por_especialidad.lb_faenas.SelectedItem()
ll_foundrow = dw_detalle.Find( "fcl_descripcion = '"+ nom +"'", 1, dw_detalle.rowcount())
dw_detalle.setitem(ll_foundrow,"selec",1)
next
end if
end if

Pero lo quiero hacer es que el nombre de la ventana lo tome desde la ventana que la esta llamando, intente lo siguiente pero no me funciono:

window ventana

ventana = message.powerobjectparm

if isvalid(ventana) then
if ii_tipo = 1 then
dw_detalle.dataobject = 'd_data'
dw_detalle.settransobject(sqlca)
dw_detalle.retrieve()
for i = 1 to ventana.lb_faenas.TotalItems ( )
ventana.lb_faenas.SelectItem(i)
nom = ventana.lb_faenas.SelectedItem()
ll_foundrow = dw_detalle.Find( "fcl_descripcion = '"+ nom +"'", 1, dw_detalle.rowcount())
dw_detalle.setitem(ll_foundrow,"selec",1)
next
end if
end if

Ojala ahora alla quedado mas claro y asi me puedan ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE hacer referencia a una variable de una venta

Publicado por Jorge Escobar (10 intervenciones) el 13/07/2007 18:28:04
crea un nonvisualobject nómbralo como n_cst_objects

en variales de instacia del object n_cst_objects declara
listbox ilb_listbox

en tu ventana 1

n_cst_objects lnv_object
lnv_object = create n_cst_objectsç
lnv_ojbect.ilb_listbox = lb_1 // segun el listbox que quieras manejar desde la otra ventana
OpenWithParm(w_2,lnv_object)

ventana 2
variables de instancia
n_cst_objects inv_objects

open de la w_2
inv_objects = Message.PowerObjectParm

ahora puedes manejarlo el lb_1 del a w_1
reemplaza el prefijo ventana por inv_ojbect
quedaría algo asi
inv_object.ilb_listbox.TotalItems ( )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias

Publicado por Marcelo (21 intervenciones) el 13/07/2007 21:23:30
Gracias Jorge me funciona como yo queria saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar