Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Delphi para la web (https://www.clubdelphi.com/foros/forumdisplay.php?f=51)
-   -   Ventanas en IntraWeb (https://www.clubdelphi.com/foros/showthread.php?t=87632)

cmfab 03-02-2015 12:58:20

Ventanas en IntraWeb
 
Hola a todos, les comento mi situación, estoy incursionando en el tema de aplicaciones Web con ayuda de la herramienta IntraWeb, tengo algo de manuales pero en realidad no abunda mucho la literatura sobre este tema y lo que ocupo es poder cargar una ventana de mi proyecto pero en otra pestaña del navegador o bien en una ventana nueva, lo que sucede es que cuando muestro una ventana con el código siguiente

Código Delphi [-]
TForm.Create (self).Show;

lo que hace es mostarme el formulario en la misma ventana del navegador desde donde fue creado, además no me funciona el botón "Back" del navegador para ir al form anterior debo colocar un botón y en el evento onclick ejecutar el código

Código Delphi [-]
release;

Existe la posibilidad de crear una ventana nueva con la instruccion

Código Delphi [-]
webapplication.NewWindow();

pero se necesita pasar como parámetro un string con la URL del sistio, esto es para abrir algún link externo a la aplicación según entiendo

Cualquier aclaración les agradecería, muchas gracias a todos de antemano por su dedicación

Alex Mireles 02-07-2018 20:15:52

Hola,
En IntraWeb cada pantalla se le da tratamiento como una plantilla de HTML, lo que necesitas es asignar un TemplateProccesor por cada Unit que hagas de cada pantalla, (No usar FORM , usar solo Unit ya que el .DFM sera un .HTML).

El archivo .HTML deberá tener el mismo nombre que el archivo .PAS

Para mostrarlo es correcto el uso de --Show--.
Para cerrarlo es correcto el uso de --Release--.

En IntraWeb las pantallas modales no existen,,, se aplica el concepto de navegación de formas/plantillas y deberás llevar el control de que pantalla es la que se mando llamar y cual pantalla es la que se pidió cerrar para así orquestar el menú de origen.

SALUDOS:

fduenas 18-07-2018 18:59:57

Hola cmfab, que version de Intraweb estás usando?
Sería bueno que cuando tengan alguna duda incluyan la version de intraweb, por hay que varais soluciones dependieno de las versiones.


Si usas la version 12, hay una cualidad que se llama CustomURLReponders:
hxxps://github.com/Atozed/IntraWeb/tree/master/XII/Delphi/CustomURLResponder




En las mas recientes ( a partir de la 14) esa cualiudad se reemplazó por ContentHandlers.

hxxps://github.com/Atozed/IntraWeb/tree/master/XIV/Delphi/ContentHandlers

hxxps://github.com/Atozed/IntraWeb/tree/master/XIV/Delphi/CustomContentHandlers


Con los cuales puedes registrar un path de tu app por ejemplo: '/modulos/Miformulario2.html' pero cuando intraweb reciba esa solucitud puedas instanciar tu fomulario de intraweb y abrir en otra ventana con 'Webapplication.NewWindow()'


Revisa esos ejemplos y la documentacion:
hxxps://doc.atozed.com/en/iw14/develop/content-handlers/

fduenas 18-07-2018 19:26:11

Por cierto acá hay un demo para una ventana Modal:
hxxps://github.com/Atozed/IntraWeb/tree/master/XIV/Delphi/ModalWindow


Los Frameworks de JavaScripts han facilitado muchos la implementación de ventanas modales así como de interfaces que se vean modernas, uno de ellos es bootstrap y existe un framework opensource para intraweb, este lo puedes consultar acá y ya tiene el API para el manejo de ventanas modales.

hxxp://kattunga.github.io/IWBootstrapFramework/
hxxps://github.com/kattunga/IWBootstrapFramework


La franja horaria es GMT +2. Ahora son las 03:41:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi