Fórum Form MDI #339638
30/03/2007
Gente quando vou abrir um formulario mdi child aparece a seguinte expressão cannot create form. no mdi forms currently active. Os formularios estao definidos corretamente como mdiform e mdichild. Tudo começou quando coloquei um novo formulario de login que é fsnormal ele chama o formulario pai na boa mas o pai nao consegue chamar os filhos dando essa mensagem.
Quando vou chamar os filhos estou fazendo assim:
if frmFornecedor = nil then
begin
Application.CreateForm(tfrmfornecedor,frmFornecedor);
frmFornecedor.Show;
end
else
frmFornecedor.Show;
Desde ja agradeço
Posts
provavelemnte vc esta tentando criar o form login (filho) antes de criar o form pai
Para poder usar forms com estilo fsMdiChild é preciso que seu form principal (normalmente o primeiro que seu programa cria) tenha estilo fsMdiForm.
mas o pai esta criado ele é mdiform
Como o colega dmenin escreveu, a ordem de criação faz diferença. Você usa Application.CreateForm para criar o form de login? Se for o caso, crie o form de login usando algo assim...
SeuFormDeLogin = TSeuFormDeLogin.Create(nil);
...mostra o form...
SeuFormDeLogin.Free;
...resto do programa...
sera q o form de login, como é o primeiro a ser aberto, n passou de alguma amneira a ser o form pai..e como vc fecha ele...nao tem + form pai ativo
Infelizmente o erro continua
Gente resolvi coloquei no inicio do programa application.showmainform:=false, assim o formulario principal é criado primeiro que todos mas fica escondido ate eu chamar ele. No evendo on show do formulario principal coloco para chamar o formulario de login que por sua vez habiliata o principal e da um onshow, obrigada a todos!!! :lol: :
Application.Initialize;
Application.CreateForm(TfrmDataModule, frmDataModule);
Application.CreateForm(TfrmMenu, frmMenu);
[b:cd1f281b28]Application.ShowMainForm:=false;[/b:cd1f281b28]
Application.CreateForm(TfrmLogin, frmLogin);
Application.Run;