Formulario en Delphi
Formulario en Delphi
Si vas al menú project - options en la ventana que se abre, vas la sección "forms" hay dos apartados: "Auto-create forms" y "Available forms". dependiendo de en donde se
encuentre tu formulario desbes de seguir los siguientes pasos para cada uno
1. Primera opcion si tu formularios se encuentra en "Auto-create forms", dedes de ir a tu unidad de codigo del primer formulario, en la seccion "uses" debes de agregar la
unidad de codigo de tu segundo formulario, que si no le has cambiado de nombre debe ser Unit2, quedando algo como esto
uses
Dialogs, Unit2;
ahora, vas a la vista de tu formulario, seleccionas el boton, vas al inspector de objetos (F11), seleecionas la pestaña "events", en el evento "OnClick", das doble click para que
Form2.ShowModal;
2. Si tu formulario se encuentra en "Available forms", debes de hacer lo mismo de agregar tu unidad al uses del punto anterior, además de lo del evento del boton, lo que
with TForm2.Create(self) do
try
ShowModal;
finally
Free;
end;
Cada una de estas opciones tiene sus ventajas y desventajas, una de las principales es que si tu aplicacion tiene muchos formularios, la segunda opcion hace que tu programa
cargue más rápido, pues los formularios se crean solo cuando los necesitas.
NOTAS: para ver el numbre de una unidad de codigo, entras en ella, te mueves hasta arriba de la unidad y ahi está su nombre, que cuando la creas está por defecto: "unit
Unit1;"
Si te fijas bien he utilizado Form2 y TForm2, que son dos cosas muy diferentes
Form2, es una variable, del tipo TForm2, y esta última es la clase de tu segundo formulario
No se si seas la misma persona a quien le recomendé estas paginas, pero aqui estan de nuevo
Buenas tardes a todos, realmente lo basico es como dice el titulo pero no logro conseguir
llamar a un formulario modal desde otro formulario. De que manera se puede hacer?
sierraja
Ver Perfil
#2
02-05-2012
Hola...
Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
maeyanes
Ver Perfil
#3
02-05-2012
Y no olvides incluir la unidad del formulario modal en la unidad del formulario que llama.
// Saludos
roman
Ver Perfil
¡Visita mi Sitio!
#4
02-05-2012
Hola,
Y recuerda que lo puedes "complicar" y/o "adornar" de no pocas formas diferentes, por
ejemplo, aquí un par de unidades, una correspondiente a un "formulario principal" y otra a
un formulario "modal" cuya clase implementa una función "estática" que puede usarse para
mostrar el formulario tal como quieres. Es sólo para ver que se pueden seguir cantidad de
caminos para llegar al mismo sitio, aunque igual la solución propuesta por el compañero
más arriba sea la idónea aquí por su sencillez.
interface
uses
Forms, Classes, Controls, StdCtrls;
type
TMainForm = class(TForm)
ShowMyModalFormButton: TButton;
procedure ShowMyModalFormButtonClick(Sender: TObject);
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
uses
Windows, Dialogs, UMyModalForm;
end.
interface
uses
Forms, Controls;
type
TMyModalForm = class(TForm)
public
class function ShowMeModal() : TModalResult;
end;
var
MyModalForm: TMyModalForm;
implementation
{$R *.dfm}
{ TMyModalForm }
end.
dec
Ver Perfil
¡Visita mi Sitio!
#5
02-05-2012
(Sin auto-create)
Código Delphi [-]
implementation
Edito: De echo el último modo que sugiere Dec es el que mayormente uso.
__________________
Daniel Didriksen
ecfisa
Ver Perfil
#6
03-05-2012
sierraja
Miembro
Bastante claro
Hola a todos, ok me quedo bastante claro. Gracias por aclararme este episodio. Solo una
pregunta mas: Para liberarlo totalmente de la memoria usando sin auto-create y modal,
como dice el amigo ecfisa, tan solo utilizar Free y mas nada? para asegurarme...
sierraja
Ver Perfil
#7
03-05-2012
Cita:
... no estás asignando ningún "responsable" ("padre") a "Form2", de manera que tú eres el
encargado de destruir a "Form2". ¿Cuándo? Como dijimos antes, generalmente, cuando ya
no te sea necesario.
dec
Ver Perfil
¡Visita mi Sitio!
#8
03-05-2012
sierraja
Miembro
Hola
1- Creaste es form2 ?. (file-new-form) ???.
2- Project-Options-(pestaña form)-main form. (ahi se define el primer form que iniciara).
Saludos
__________________
Siempre Novato
formulario abrir, cerrar
Hola cuales son los codigos para abrir un form, para cerrar un form, para mostrarlo, dejarlo
oculta pero sin cerrarlo
form.hide
form.show
form.close
Cita:
form.hide
form.show
form.close
Salud OS
egostar
Ver Perfil
#3
13-08-2007
cHackAll
Ver Perfil
#4
14-08-2007
También puedes usar el evento OnClose para "cerrar y liberar" o "cerrar y ocultar"
dependiendo de lo que añadas al parámetro Action; Revisa la ayuda, los valores del
parémetro son bastante claros: caHide, caFree, caNone;
__________________
Neftalí -web - MyDropBox-
Guía de estilo, Guía alternativa, TAG's.
*Añade tu foto al Club*
hola. Estoy haciendo una aplicacion que tiene varios formularios. en algun momento se abre
uno de los formularios que no es el principal y tiene un par de procedimientos y bucles. el
usuario puede cerrar esta ventana para cancelar lo que esta haciendo pero a pesar de que se
cierra el formulario sigue procesando y funcioando el bucle. como puedo hacer para que
cuando se cierre deje de funcionar todo en el form.
gracias.
locojoan
Ver Perfil
#2
21-06-2006
Debes estar ocultándolo en lugar de cerrandolo (liberándolo), por lo tanto se oculta, pero
sigue el proceso.
Neftali
Ver Perfil
¡Visita mi Sitio!