Create Nested Report

Estoy trabajando en un pequeño proyecto donde la idea principal es crear las datawindows desde un script (con la sintasix exportada) contenido en una base de datos. Hasta el momento no hay problemas, ya que se crean las datawindows :
select sintaxis into :ls_rep
from ....
dw_1.Create(ls_rep)
dw_1.SetTransobject(sqlca)
dw_1.retrieve( )
Hasta aquí todo bien, el problema esta con las datawindows de tipo Composite ya que al no existir en la pbl las DataWindow child, me manda error...
¿Existirá alguna forma de solucionar este problema?
Por favor, cualquier ayudita o idea me seria muy útil!

1 respuesta

Respuesta
1
Muchas veces no nos gusta las respuestas que recibimos cuando estas son imparciales o bien las más directas de solucionar, en tu pregunta veo directamente la respuesta, sin embargo power builder es un lenguaje orientado a eventos, con potencial de herencia, que es la mejor forma de utilizar este lenguaje, sin embargo, esto implica que para poder heredar una forma, tiene que existir un padre, tienes dos formas de solucionar tu problema:
1: Añadir en el registro donde se encuentra el nombre de tu forma, el nombre de la forma padre, la idea es que cada vez que el programa ejecute una llamada al registro donde esta la forma que va a ser creada dinámicamente, habilite la forma padre, así esta ya existe en memoria., sin embargo esto puede ser un circulo de nunca acabar, pues el padre puede tener otro padre y así sucesivamente.
La solución sera poner el nombre del padre, si este esta en blanco o null no hay padre.
2: Crear todas tus ventanas sin proceso de herencia.
Este proceso puede que te provoque teclear un poco más, pero seguramente este no va a fallar.
3: Manteniendo tu sistema, podrías crear una tabla donde se encuentren las ventanas padres. La idea de esto es que cuando el programa se inicie, lea esta tabla.
Las ventanas que se encuentren allí deberán ser creadas, y puestas como invisibles.
Esto posiblemente afecte directamente tu performance.
Me gustaría que me ampliaras un poco más sobre el uso de tus ventanas composite
Hola, creo que no me explique muy bien.
Tengo una DataWindow 'Padre' que contiene una o más nested report 'Hijos'. Luego exporto la sintaxis de la DataWindow Padre e Hijos y las guardo en una tabla.
La idea de esto es poder modificar las DataWindows sin generar una nueva versión del software. En pocas palabras las DataWindow no existen dentro de la PBL sino que en la base de datos están sus sintaxis y se crean cada vez que es requerida la DataWindow, con la instrucción DW_1.CREATE(...).
El problema radica en la DataWindows Nested Report ya que no encuentro la forma de crearlas en tiempo de ejecución, no así, las normales que funcionan sin problemas.
Si aun no queda claro, solo avisame. Necesito sacar esto adelante es muy urgente. Gracias...
Muchas gracias, aunque, como dices no es lo que uno espera. Pero no todo debe ser tan fácil.
Voy a trabajar en alguna de esas posibles soluciones.
Aunque creo haber encontrado la solución, existen unas funciones:
LibraryCreate
LibraryDelete
LibraryDirectory
LibraryDirectoryEx
LibraryExport
LibraryImport
SetLibraryList
Que permiten importar, exportar, comprobar, entre otras cosas, sintaxis de DataWindows. Ya he realizado algunas pruebas y me ha ido bastante bien.
Se agradece la atención.
Saludos ChikoWilly

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas