Form MDIForm e MDIChild

Delphi

24/03/2003

Gente alguém pode ajudar?

Eu tinha o form principal como MDI e tinha o form de cadastro como Child.. Eu mudei.. Coloquei o form principal e o de cadastro como normal.. Mas agora o form de cadastro não aceita mais Showmodal...Dá um erro:

´Project Orcamentos.exe raised exception class EAcessViolation with message ´Acess Violation at address 004EAB2B in module ´ORCAMENTOS.EXE´.Read of address FFFFFFFF´. Process stopped.´

Alguém pode explicar o q pode ser????


Rafaela

Rafaela

Curtidas 0

Respostas

Okama

Okama

24/03/2003

Explicar eu não sei, mas verifique se o formulário está incluído no projeto e se o form principal está usando a unit.


GOSTEI 0
Anonymous

Anonymous

24/03/2003

Rafaela, (Nome Bonito este hein !) o pq disso eu não sei, mas se vc colocar a propriedade Visible do Form para false não vai ocorrer problemas.
Não me pergunte o pq, mas funciona !

Agora se não funcionar escreve que tento achar uma solução lógica.


GOSTEI 0
Rafaela

Rafaela

24/03/2003

Bom Okama, já havia checado isso tbm...

O Cara da esquina muito obrigado pelo elogio.. Não gosto muito desse nome mas.....

Colocar essa propriedade no form de cadastro?? Não adiantou nada... o mesmo erro....

Qual a sua opinião agora?


GOSTEI 0
Anonymous

Anonymous

24/03/2003

bom rafaela já é o segundo post seu que respondo hoje... será isso uma coincidencia..... :-)

Fica dificil dizer pois sem olhar o fonte eu nao sei como vc fez para instanciar as classes do form... mas acredito se estava child deveria estar chamnado na mão pois se nao ele vem com os forms abertos com isso se voce for em project options vera que o form cadastro estara do lado direito nas listbox que irao aparecer la passe-as para o lado esquerdo e deve funcionar.... pois ai o delphi vai instanciar o form pra vc....

mas se quiser instanciar na mao pode usar o seguinte codigo:

Application.CreateForm(TCadastro, Cadastro);
try
cadastro.showmodal
finally
cadastro.free;
end


qualquer duvida unixman@programmer.net....

mas acredito que isso resolve.....


GOSTEI 0
Rafaela

Rafaela

24/03/2003

Unixman, primeiro obrigado por ´perder´ tempo comigo....rssss
Bom fiz o q vc disse, fui em project/options e coloquei ele para o lado esquerdo mas não adianta... Ele não aceita showmodal, ele só aceita o comando q eu tinha colocado antes qdo o form era MDIchild...

Form:=TForm.Create(Self);
Form.Show;

O q será??


GOSTEI 0
Rafaela

Rafaela

24/03/2003

Emerson muito obrigado deu certo, mas qdo eu fecho o form ele dá outro erro:

Cannot focus a disable or invisible window..

O q será?


GOSTEI 0
Rafaela

Rafaela

24/03/2003

Emerson muito obrigado deu certo, mas qdo eu fecho o form ele dá outro erro:

Cannot focus a disable or invisible window..

O q será?


GOSTEI 0
Anonymous

Anonymous

24/03/2003

tente criar assim:
no form principal faça:

Para criar o SeuForm
SeuForm := TSeuForm.Create(Self);
SeuForm.Visible := False;
SeuForm.ShowModal;

no OnClose do Cadastro faça:

action := caFree;
SeuForm := nil;

e no onDestroy faça:

SeuForm := nil;


Sempre faço assim naum dá pau

Tá sendo assediada em ..... tb se form bonita como o nome
(Puts.... que chaveco furado...)


GOSTEI 0
Rafaela

Rafaela

24/03/2003

Cara não dá certo......Acredita?? Esse negócio tá me tirando do sério já...... :x
Obrigado pelo elogio do nome tbm..... :wink:

Mas o q será q tá acontecendo?? Eu já trabalhei com MDI e Child e nunca deu problema... Acho q deve ter alguma coisa muuuito errada...Se tiver mais alguma idéia, pode mandar, q agradecerei......

Valeuuuuuuuu........

RAFAELA.... (nossa, q nome... :D )


GOSTEI 0
Okama

Okama

24/03/2003

Emerson muito obrigado deu certo, mas qdo eu fecho o form ele dá outro erro: Cannot focus a disable or invisible window.. O q será?




Se OnCreate funcionou, verifique OnClose e OnCloseQuery, ou se existe algum componente com Enabled:= False que é referenciado por algum outro evento, como SetFocus ou ActiveControl.

he he :lol:


GOSTEI 0
POSTAR