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 29-04-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
MDI Form

Sigo con mis novatadas!, una pregunta estoy haciendo un proyecto MDI, y quiero que una forma que es child no aparezca solo hasta que la invoque, y otra pregunta porque al darle ShohModal a una forma me dice que no puede hacerla visible???


agradecere sus respuestas...
Responder Con Cita
  #2  
Antiguo 29-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Que yo sepa los formularios mdiChild no pueden ser modales, y de hecho no están pensados para eso.

En cuanto a la otra parte, lo usual con formularios mdiChild es quitarlos del "auto-create" y crearlos tú mismo cuando sea necesario. Los formularios mdiChild siempre son visibles y por ello, si ya están creados en "auto-create" no hay forma de evitar que se presenten.

// Saludos
Responder Con Cita
  #3  
Antiguo 29-04-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
gracias por la respuesta, lo que pregunte ya lo soluciones, pero ahora tengo otra pregunta, la forma MDIChild no la puedo cerrar, solo se minimiza, que debo configurar para poder cerrarla???
Responder Con Cita
  #4  
Antiguo 29-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por lo mismo, no puedes ocultarla y tendrás que destruirla. En su evento OnClose pon Action := caFree;

// Saludos
Responder Con Cita
  #5  
Antiguo 29-04-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Funcionó Roman, mil gracias...
Responder Con Cita
  #6  
Antiguo 30-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Un poco tarde, pero te cuento algo: Cuando tengo un formulario que tiene que verse como MDIChild y a su vez, cuando es llamado de otro lado tiene que verse como modal, lo que hago es tenerlo guardado como fsNormal, entonces cuando necesito que sea modal lo creo y hago un ShowModal, pero cuando necesito que sea MDIChild, lo creo y le asigno al FormStyle el valor fsMDIChild, entonces se muestra automáticamente como MDIChild...

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 11-11-2004
elbilla elbilla is offline
Miembro
 
Registrado: jul 2004
Posts: 27
Poder: 0
elbilla Va por buen camino
He visto varios hilos de este tipo pero me estoy volviendo loco con los Mdi Child...
Tengo un Form principal Mdi Form, y varios Mdi Child.
Los Mdi Child los abro así:
Código:
  
If FORM <> nil then
  FreeAndNil(FORM);
FORM:= FORM.CREATE (SELF);
FORM.show;
Luego en el OnClose lo cierro con el Action:=caFree, pero si lo vuelvo a abrir me da un error...He probado a cerrarlo con el FreAndnil(FORM) pero al volverlo abrir m vuelve a dar error...
EL caso es q al abrirlo de la manera q pongo, lo puedo abrir y cerrar poniendo el FreandNil en el OnCLose las veces q quiera sin q pase nada, pero si pongo el FreeandNil en un boton entonces me da error. Lo hace una vez y la siguiente vez q entro ya me da error...
Un saludo..
Gracias
Responder Con Cita
  #8  
Antiguo 11-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No entiendo bien esta forma que usas para crear los formularios pero te puedo decir dos cosas:

La línea

FORM:= FORM.CREATE (SELF);

no es correcta. Cuando construyes un formulario debes usar el identificador de clase y no la variable en sí. Esto es, si FORM es de tipo TMiForm, lo correcto es:

FORM:= TMiForm.CREATE (SELF);

La otra cosa es que para liberar un formulario desde algún evento o método del mismo formulario (como el OnClick de un botón) debes usar el método Release en lugar de Free, que es el que ejecuta FreeAndNil.

// Saludos
Responder Con Cita
  #9  
Antiguo 11-11-2004
elbilla elbilla is offline
Miembro
 
Registrado: jul 2004
Posts: 27
Poder: 0
elbilla Va por buen camino
Perdona, los creo como dices....Form:= Tform.create(self)

Voy a probar lo del Release a ver si ese es el fallo......(Espero q si)....

Un saludo

Nada, con el Release lo cierra también, pero al volver a acceder a dicho Form, me da un error de memoria...No sé pq puede ser...

Última edición por elbilla fecha: 11-11-2004 a las 18:00:55.
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


La franja horaria es GMT +2. Ahora son las 07:17:28.


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