![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Perdón por las negritas y los signos de exclamación. Desconocía el significado de eso. Lo de la prisa si que es cierto pero no quería ofender a nadie, pido disculpas una vez más.
Pero respecto a tu explicacion te diré que el formulario mdi padre si que está creado y es el formulario del menu principal, pues tiene asignada en la propiedad FormStyle el valor fsMDIForm y por lo tanto cuando en este formulario creo el formulario hijo no entiendo el porqué del mensaje de error. Saludos. Cita:
|
|
#2
|
||||
|
||||
|
Acabo de hacer una prueba, y he descubierto que Delphi se basa en el estilo del form principal para crear los formularios MDIChild. Si el form principal (Application.MainForm) no es MDIForm, no hay forma de crear MDIChild.
Código:
// de la unit Forms.pas
procedure TCustomForm.CreateWindowHandle(const Params: TCreateParams);
var
CreateStruct: TMDICreateStruct;
begin
if (FormStyle = fsMDIChild) and not (csDesigning in ComponentState) then
begin
if (Application.MainForm = nil) or
(Application.MainForm.ClientHandle = 0) then
raise EInvalidOperation.Create(SNoMDIForm);
!!! no se puede crear si el MainForm no es MDIForm...
(solo para estos se crea un client handle)
Resulta que la propiedad MainForm es de solo lectura... por lo que tampoco es posible reasignarla en tiempo de ejecución. De esta cuenta, que el form principal de tu aplicación debe ser la ventana MDIForm. Si queres validar el acceso al sistema, podes hacer una ventana normal, crearla y llamarla (con showModal) en el onShow del form principal (por ejemplo) y actuar dependiendo del resultado (mrOK=>el usuario es válido, otro valor, cerrar aplicación). Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#3
|
||||
|
||||
|
Gracias por tu ayuda amigo, lo intentaré de la otra forma, un saludo.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|