FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Showmodal no muestra
Hola a todos!
tengo el siguiente código. Código:
program Project1; uses Forms, uAvisos in 'uAvisos.pas' {fAvisos}, auxiliares in 'auxiliares.pas'; {$R *.res} begin Application.Initialize; Application.CreateForm(TfAvisos, fAvisos); Auxiliares.ejecutar; Application.Run; end. Código:
unit uAvisos; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TfAvisos = class(TForm) lTexto: TLabel; bAceptar: TBitBtn; bCancelar: TBitBtn; procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end; var fAvisos: TfAvisos; implementation {$R *.dfm} procedure TfAvisos.FormShow(Sender: TObject); begin lTexto.Caption := 'Espere...'; end; end. Código:
unit auxiliares; interface procedure ejecutar; implementation uses uAvisos, forms; procedure ejecutar; begin fAvisos.Show; fAvisos.Close; fAvisos.Visible := False; fAvisos.ShowModal; end; end. Tal como está el código, no me saca el form fAvisos. En cambio si solo dejo el fAvisos.Showmodal Código:
unit auxiliares; interface procedure ejecutar; implementation uses uAvisos, forms; procedure ejecutar; begin { fAvisos.Show; fAvisos.Close; fAvisos.Visible := False;} fAvisos.ShowModal; end; end. Muchas gracias a todos. Jon |
#2
|
||||
|
||||
Hola,
Bueno. Tal parece que, si muestra un formulario, y acto seguido lo cierras... dependiendo de la velocidad del ordenador es posible que hasta ni veas el formulario en cuestión, pues todo ocurre muy rápidamente. Sin embargo, cuando muestras un formulario "modal", este permanecerá "visible" hasta que no lo cierres explícitamente, desde el propio formulario, por regla general. Es decir, no es posible hacer esto:
Porque la segunda instrucción se ejecutará acto seguido de la primera, con lo que el formulario será "visto y no visto". |
#3
|
|||
|
|||
gracias por contestar dec!
El tema es que cuando le pongo showmodal después de hacer el show y el close, no me muestra el form. Yo entiendo que si hago un showmodal me debe presentar el form, haya pasado lo que haya pasado antes. No se si me explico.... Un saludo y gracias. Jon PD: el show y el close lo hago en el programa original por otros motivos. Le muestro un mensaje tipo ?espere...' mientras hago un proceso que tarda un tiempo. Es más del tipo Código:
unit auxiliares; interface procedure ejecutar; implementation uses uAvisos, forms; procedure ejecutar; begin fAvisos.Show; ProcesoQueTardaMucho; fAvisos.Close; fAvisos.Visible := False; fAvisos.ShowModal; end; end. Última edición por jonmendi fecha: 26-01-2009 a las 17:16:27. |
#4
|
|||
|
|||
Probablemente porque le tienes el visible a False, por eso cuando ejecutas el show-close-hide-showmodal no te lo muestra...
|
#5
|
|||
|
|||
gracias por contestar luisgutierrezb!
lo que ocurre es que al hacerle el show pone visible a true, y si luego vuelvo a intentar abrir con el showmodal me dice "Cannot make a visible window modal". Y claro, pues tampoco interesa . Misterio, misterio,... Un saludo y gracias. jon |
#6
|
||||
|
||||
Hola jonmendi,
Por como lo veo, el problema se debe a el Show-Close. Si lo abres, y luego lo cierras no lo verás; o cuanto mucho notarás un efecto de una ventana que se abre y cierra rápidamente como comentaba Dec. Ahora, si después de eso muestras modalmente la ventana, no recibirás el control del programa sino es hasta que se cierre dicha ventana. Si la abres, luego no intentes abrirla con ShowModal. No se porqué debes mostrar la ventana dos veces: primero con Show y luego con ShowModal. Si te explicases mejor, con mayores detalles podríamos comprender tus dudas y proponerte soluciones y/o alternativas. Por cierto, emplea las etiquetas DELPHI por favor. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Intraweb y ShowModal | PatrickM | Internet | 8 | 04-10-2018 21:52:18 |
email yahoo, no muestra contenido..muestra todo menos contenido. | sakuragi | Linux | 5 | 29-02-2008 18:11:27 |
Showmodal desde MDI | pfsoft | Varios | 1 | 26-07-2006 09:07:15 |
MDIChild y ShowModal | Neia | OOP | 3 | 03-07-2005 15:50:08 |
Error con ShowModal | el_barto | Varios | 7 | 04-06-2005 17:51:44 |
|