FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como crear ventana emergente
olas..
como creo una ventana emergente?... es para ponerla mediante un botón. grax |
#2
|
||||
|
||||
osea,
que deceas que al imprimir un boton aparezca la ventana? yas has intentado algo? bueno, podrias mostrar un formulario cada vez que oprimas el boton:
claro que el form_ventanaEmergente lo tendrias que tener ya creado. y este boton llamar desde un form principal
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups! |
#3
|
||||
|
||||
Jac fcc: creo que has tenido un despiste, en lugar de "EXCEPT" quizá debiste poner "FINALLY". De lo contrario únicamente eliminaría la ventana si se lanza una excepción, pero si todo funcionara correctamente entonces nunca la eliminaría, ocupando cada vez más memoria y generando algún que otro problema más, dependiendo de lo que haga la propia ventana.
Por otro lado, en vez de usar "Application.CreateForm" mejor, quizá, crearla diréctamente. Vamos, que yo lo haría así:
|
#4
|
||||
|
||||
Hola gio013.
Es correcta la acotación de Nuño. Y se puede reducir más el código trabajando directamente con la clase: Código:
procedure TForm1.ButtonClick(Sender: TObject); begin with TForm_ventanaEmergente.Create(Self) do try ShowModal; finally Free; end; end; Project-> Options-> AutoCreate Forms. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 28-07-2010 a las 12:12:44. |
#5
|
|||
|
|||
olas
primero gracias a todos por responder prontamente. ecfisa el comentario tuyo me enseño algo que no sabia (en el manejo de la clase ),ciertamente ahorra codigo. muchas gracias; ahora olas jacc fcc no entiendo esta linea de codigo
lo que anda entre paréntesis a que se refiere eso. grax por leer.. |
#6
|
||||
|
||||
Cita:
es similar al codigo que escribió el amigo ecfisa: Cita:
en el evento onclose() coloco Action:=caFree //para liberar los componentes. y en el evento ondestroy() coloco Form_VentanaEmergente:=nil //para liberar formulario por eso no necesito liberar memoria en el finally, a menos que ocurra alguna excepcion en el programa entonces, si libero memoria en el except.
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups! |
#7
|
||||
|
||||
Hola Jac.
El problema del uso que haces de try except; es que puede enmascarar errores y eso conlleva a dolores de cabeza. Voy a usar un ejemplo infantil, pero va a servir para el caso. Suponé que tenemos Form2 creado desde Form1 así: Código:
procedure TForm1.Button1Click(Sender: TObject); begin try Application.CreateForm(TForm2,Form2); Form2.ShowModal; except Form2.Free; end; end; Código:
procedure TForm2.FormCreate(Sender: TObject); begin LineaQueCausaUnaExcepción; end; seguimos en Form1, pero... ¿ que pasó? ¿ por que no se muestra Form2 ? Hemos metido la pata hasta el cuadríl y nadie nos dice por qué. Sucede que capturamos la excepcion antes del ciclo de mensajes. Ya existe un try/except en el ciclo de mensajes, y se muestra con Application.ShowException, abortando el mensaje. Esto no pasa con el uso de finally; elevándonos la excepcion y avisándonos lo que pasa. Este ejemplo es muy trivial, pero lo cierto es que detectar un error en una aplicación grande, suele ser complicado, aún con los mensajes de excepción. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 29-07-2010 a las 08:42:15. |
#8
|
||||
|
||||
gracias ecfisa,
siempre tienes atinadas tus observaciones. lo tomaré en cuenta
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como crear una ventana de login | wadhis | Conexión con bases de datos | 1 | 27-08-2008 10:47:26 |
cómo crear ventana de inicio como la de word o delphi? | jpcancino | Varios | 2 | 14-03-2007 03:56:02 |
En mi aplicacion MDI quiero crear una ventana hija desde otra ventana hija | Durbed | Varios | 8 | 05-07-2005 12:51:54 |
Ventana Emergente | G.A.R.S | Gráficos | 2 | 27-05-2005 05:41:23 |
capturar datos de una ventana emergente | smendo | PHP | 2 | 01-12-2004 11:50:29 |
|