Ver Mensaje Individual
  #5  
Antiguo 18-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Despues de releer todo el hilo, creo que la solución es mucho más simple de lo comentado en todos los mensajes, incluido el anterior posteado por mi.

Cita:
Empezado por Clantt
Hola amigos estoy tratando de crear ventanas que se abran en tiempo de ejecución, pero que sean una nueva ventana asi como otro programa,
Lo que quieres decir, es que cada ventana actue de forma independiente, es decir, si cierras una que no interfiera con las demás, y esto es intrinsecamente así, uuu sea sé, delphi funciona así.
Código Delphi [-]
... var 
 prueba : Tform;
 begin
    prueba := Tform.create(application);
    prueba.show;
 end;

Ahí tienes un error: estas poniendo Tform .... ¿pero qué Tform? TForm a secas es la clase base para todas las ventanas.

Si entiendo bien, tienes que hacer esto:
- Diseñas 3 ventanas form1, form2 y form3. (simplemente File --> new --> Form, 2 veces, para añadir los form2 y form3)
- Vas a Project, Options, y quitas el form2 y form3 de la zona Autocreate, y los pones en Available.
- en el Form1 pones 2 botones, y en sus eventos OnClick añades:
Código Delphi [-]
procedure Tform1.Form1Button1Click(Sender:TObject);
begin
if not Assigned(form2) then
  application.Createform(Tform2, Form2)
else
  Form2.Bringtofront;
end;

procedure Tform1.Form1Button2Click(Sender:TObject);
begin
if not Assigned(form3) then
  application.Createform(Tform3, Form3)
else
  Form3.Bringtofront;

end;

Tanto en form2 como en form3, en sus eventos Onclose añades:
Código Delphi [-]
Action := cafree;
formX := nil;
Donde X será el número 2 o bien 3.

Listo, ya tienes funcionando los form2 y form3 totalmente independientes, y desde form1 puedes crearlos.

Espero que sea lo que necesitas.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita