![]() |
Varias Dudas
Hola, que tal?
1. Como hago para cerar un formulario, o sea descargarlo, probe usando el metodo form.free, pero si lo abro y lo cierro varias veces me tira errores. 2. como se si un formulario ya esta cargado, ya que si uso dos veces la funcion createform, me crea 2 veces el formulario y lo que necesito es que se cree una sola vez. muchas gracias. |
No especificas desde dónde llamas al form.free pero no puedes hacerlo desde un método de la misma forma. Usa el método Release en su lugar.
Por otro lado quizá te convenga más usar el evento OnClose del form poniendo Action := caFree. Esto hace que el form se libere cuando se cierra. En cuanto a la segunda pregunta hay dos maneras de hacerlo. La más fácil es usar la variable global en la unidad del form. Digamos que Form2 es el formulario que deseas que se cree una sóla vez. Cuando lo crees usas: Código:
if Form2 = nil then Código:
Form2 := nil; La manera "difícil" en realidad es fácil :) Suponiendo que abres Form2 desde el formulario principal (Form1) puedes declararla como propiedad de este: Código:
type Con esto ya evitaste el uso de una variable global. El punto está ahora en cómo poner en nil la variable cuando el formulario se destruya. La solución es "pedirle" a Form2 que le avise a Form1 que se destruye. Para ello, modifica la creación de Form2 como sigue: Código:
if Form2 = nil then Código:
procedure Notification( Código:
procedure TForm1.Notification( // Saludos |
La franja horaria es GMT +2. Ahora son las 04:39:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi