PDA

Ver la Versión Completa : Creacion de formulario en ejecucion


Remp
22-04-2004, 09:07:18
Bueno mi problema es el siguiente me he creado una aplicacion, y tengo creado el formulario principal como padre y todos los demas como hijos por lo tanto al hacer click sobre un boton me crea el formulario que yo quiero, pero el problema esta es q tantas veces como hagas click se me crea el formulario como podria evitar eso?? Gracias de antemano

defcon1_es
22-04-2004, 11:59:38
el problema esta es q tantas veces como hagas click se me crea el formulario
¿Por qué no compruebas en el Click del botón si ya hay una instancia del formulario que vas a crear?

Ejp:

if not(Assigned(Form1))
then begin
<Creo una instancia del formulario>
...
...
end;

PD: Asegurate que después de destruir el formulario (método Free)
el formulario (puntero) apunta a nil, que es lo que comprueba la función Assigned.

Remp
22-04-2004, 12:07:18
defcon1_es Gracias has clavado lo que preguntaba, menuda papeleta mas solucionao coleguita GRACIAS GRACIAS .....

Remp
22-04-2004, 12:48:48
defcon, eso me sirve pero yo creo el formulario y si intento volver a crearlo me salta el mensaje que le he puesto que ya esta abierto pero si cierro el formulario y intento abrirlo otra vez me sigue saltando el mensaje, y al cerrar el formulario tengo un action:=cafree para liberar memoria como puedo evitar eso

jachguate
22-04-2004, 19:00:24
en el evento onDestroy del formulario hace esto:

Form1 := nil; (suponiendo que la variable que apunta al formulario se llama form1, claro... ;) )

kinobi
22-04-2004, 19:14:15
Hilo movido desde el foro "InterBase y Firebird" por estar fuera de tema.

Saludos.