![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como evito abrir 2 veces el mismo form?
Hola compañeros, de nuevo.. como podria hacer en un Menu x ejemplo para que no se abra 2 veces el mismo form.. El codigo que estoy usando para llamar a un formulario es asi:
He probado cambiar a Showmodal, y en efecto! no se abren 2 pero solo puedo abrir ese! es decir no puedo abrir 2 forms distintos al mismo tiempo, espero me entiendan, muchas gracias!
__________________
Mi Blog: Webscom (Software libre) |
#2
|
||||
|
||||
Hola daragor.
No uso Lazarus, pero supongo que este código tiene que funcionarte:
Ejemplo de llamada:
Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
Cita:
No entiendo... El código precisamente hace eso, evitar que se pueda volver a crear un form ya creado pero no impide que hagas: Es decir que podes habrir 1, 2, 3, ..., N forms llamando procedimiento, pero evitará que existan dos instancias del mismo a la vez. Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
|||
|
|||
Hola,
Prueba con este componente en cada uno de los fprmularios : http://wiki.freepascal.org/UniqueInstance |
#7
|
||||
|
||||
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
|||
|
|||
Cierto, error mío, no sirve para los formularios.
|
#9
|
|||
|
|||
Igual no lo estoy entendiendo bien, pero no sería sufuciente con esto :
Última edición por userlazarus fecha: 07-10-2012 a las 18:53:37. |
#11
|
||||
|
||||
Hola daragor.
El procedimiento que te puse no cierra ningún form, por lo que supongo que se deben estar solapando (el último abierto sobre el anterior). Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#12
|
||||
|
||||
Cita:
Hay alguna forma de desasignarlo?. mi codigo es este
|
#13
|
||||
|
||||
Bueno, como ya no puedo editar mi propio mensaje, tengo que poner otro.
Ya probe lo que ponian en otro post en el form hijo, le tengo que poner
Lo unico que he tenido que quitar del form es finventarios.free porque da error al cerrar. |
#14
|
||||
|
||||
Al parecer usan variables globales para crear los forms. Eso siempre da problemas
El bloque de código idiomático para crear y mostrar un form es:
Si pasamos un owner que se encarga de liberar la memoria no hace falta más nada. Si pasamos nil y se invoca a ShowModal se debe usar un bloque try-finally para liberar el form; sino si se invoca a Show se debe interceptar el evento OnClose y asignar al parámetro Action el valor caFree Más específicamente, yo suelo usar un ancestro que no es TForm en donde asigno caFree en el OnClose y siempre heredo de este form. De esta manera funciona bien siempre, incluso si implementa una interface. Recordando que TForm es heredero de TComponent por lo que el mecanismo de reference counting esta deshabilitado y se debe manejar la memoria manualmente |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Como evito que el Form principal se "cuelgue" con procesos? | bruykari | Varios | 5 | 24-02-2010 16:39:45 |
Error Al Crear Varias Veces El Mismo Form | ManuelPerez | Varios | 7 | 18-09-2007 21:31:02 |
Abrir a la vez el mismo form con diferentes datos | Sayuri | Varios | 7 | 12-08-2005 17:28:41 |
Abrir un Form tantas veces como desee | jorodgar | Servers | 3 | 20-04-2005 09:07:43 |
Abrir varias veces el mismo form | Phacko | Varios | 7 | 25-09-2004 05:22:01 |
![]() |
|