Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2020
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
Detectar si un modulo esta creado

Buenos dias,
Tengo los siguientes forms dentro de un proyecto de delphi:
tasa_oper (5)
tasa_impresion (4)
resumen (3)
operacion (2)
generacion (1)
Dichos modulos se ejecutan entre ellos segun las opciones que el usuario vaya seleccionando.
1 - 3
1 - 4
1 - 5
3 - 2
3 - 4
3 - 5
2 - 4
Es decir que se podria dar la ejecucion de
1 - 3 - 2 - 4 - 5
4 - 5
3 - 5
3 - 2 - 4 - 5
5
El problema que se me esta dando es que cuando llamo al ultimo modulo (el 5), si no esta creado, me da error.
La consulta es si existe alguna manera de detectar si un modulo ya esta creado o no en tiempo de ejecucion. (Si no esta creado lo creo, y continuo).
Utilizo delphi 7.0
No se si mi explicacion es muy clara.
Gracias desde ya
Saludos

Última edición por Casimiro Notevi fecha: 03-04-2020 a las 19:36:04.
Responder Con Cita
  #2  
Antiguo 03-04-2020
aledieb aledieb is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires, Argentina
Posts: 141
Poder: 19
aledieb Va por buen camino
Probaste con
Código:
If not Assigned(NombreFormulario) then
  NombreFormulario:=TForm1.Create(nil);
__________________
Suerte
Alejandro
Responder Con Cita
  #3  
Antiguo 03-04-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Solo agregar que si el formulario ha sido liberado con el procedimiento Free la función Assigned nos indicará que el objeto (form) está creado y arrojará una excepción cuando intenten usarlo.
Ejemplo:
Código Delphi [-]
uses Unit2;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form2 := TForm2.Create(Self); 
  // ...
  Form2.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Assigned(Form2) then
    Form2.Show;
end;

La solución es poner la variable del formulario a nulo ya sea asignándolo directamente, o usando el procedimiento FreeAndNil.
v.gr.:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form2 := TForm2.Create(Self);
  // ...
  Form2.Free;
  Form2 := nil;
 // O  de otro modo y en una sola línea:
 // FreeAndNil(Form2);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo saber si un formulario está creado? newtron Varios 7 02-04-2012 10:39:39
Cargar en un TImagen que está en otro modulo Anunakis Gráficos 2 11-02-2007 23:56:39
saber si alias esta creado en el dbe Manuel Varios 2 13-10-2006 18:27:37
Saber si un formulario ya está creado o no. Tecnic2 OOP 2 27-09-2004 13:27:01
¿Cómo saber si un Form está creado? nesetru Varios 5 09-02-2004 12:59:37


La franja horaria es GMT +2. Ahora son las 10:26:05.


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
Copyright 1996-2007 Club Delphi