--- Daguier [EMAIL PROTECTED] escreveu:
Porque vc não desabilita o menu correspondente ao
form após a criação do
form? Não respondi exatamente sua pergunta, mas acho
que resolve seu
problema...
Eu nao posso fazer isto porque as vees os forms vao
para traz do principal e nao voltam
-
De: Marcelo Almeida [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 29 de dezembro de 2004 10:24
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Abertura de forms
Walter Alves Chagas Junior wrote:
Mas isso daí que você propos é coisa de pé-duro mesmo Marcelo
Eu só uso application.createform para o form principal, para todos
os
outros eu uso form.create(self);
Ops!
Tem diferença? Quais?
[]s
Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
[EMAIL PROTECTED]
http://www.geocities.com/SiliconValley/Bay/1058
ICQ: 6057450
MSN:
Walter Alves Chagas Junior wrote:
Eu só uso application.createform para o form principal, para todos
os
outros eu uso form.create(self);
Ops!
Tem diferença? Quais?
Well.
1 - O form principal sempre será o primeiro form criado com o
application.CreateForm. Para
Walter Alves Chagas Junior wrote:
Por incrivel que pareça, o erro mais comum que vejo nos programa é
dentro de um método qualquer, alguem referenciar uma
instancia da classe.
Já ví dentro de um onclick o cara fazer form1.refresh.
Tenho até medo de dar manutenção em sistemas assim, vc nunca
] Abertura de forms
Marcos Jordao wrote:
e no OnClose:
Form1 := nil;
Assim funciona bem e o nil libera o Form da memória.
Delphi não é java, colocar nil na váriavel que identifica a instancia
não libera memoria nenhuma.
O correto para liberar a memoria é colocar
Walter Alves Chagas Junior wrote:
Melhor usar o FreeandNil não??
FreeAndNil(Form1);
Sinceramente, não.
É conceitualmente errado criar uma classe, no caso o TForm1, que depende
de uma instancia especifica do mesmo, no caso Form1.
Usar FreeAndNil depois que se fechou o form, tudo bem, mas
Engenharia de telecomunicações
[EMAIL PROTECTED]
Fone: (31) 3389-8215 Fax: (31) 3389-8200
-Mensagem original-
De: Marcelo Almeida [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 29 de dezembro de 2004 08:46
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Abertura de forms
Walter Alves Chagas Junior wrote:
Mas isso daí que você propos é coisa de pé-duro mesmo Marcelo.
Se você fizer um troço deste tipo:
procedure TForm1.btnFechaFormonclick(Sender:tobject);
begin
Close;
FreeAndNil(Form1);
end;
Pode propagar bugs na aplicação sim porque se em algum outro
telecomunicações
[EMAIL PROTECTED]
Fone: (31) 3389-8215 Fax: (31) 3389-8200
-Mensagem original-
De: Rodrigo Schiavo [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 29 de dezembro de 2004 07:09
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Abertura de forms
telefax.:(31) 3292.3722
e-mail: [EMAIL PROTECTED]
website: www.upbrasil.com.br
- Original Message -
From: Paulo Daniel Dorensbach [EMAIL PROTECTED]
To: Grupo [delphi-br] delphi-br@yahoogrupos.com.br
Sent: Sunday, December 26, 2004 1:25 AM
Subject: [delphi-br] Abertura de forms
Ola pessoal
Aproveitando o gancho os meus eu abro da seguinte forma
para abrir
if form1=nil then form1:=tform1.create(form1);
form1.show;
e no onclose do form1 eu coloco
form1:=nil;
ate agora naum tive problemas utlizando assim
nao sei se é a melhor opção, mas vai a dica
--
FAVOR REMOVER ESTA
Marcos Jordao wrote:
e no OnClose:
Form1 := nil;
Assim funciona bem e o nil libera o Form da memória.
Delphi não é java, colocar nil na váriavel que identifica a instancia
não libera memoria nenhuma.
O correto para liberar a memoria é colocar action := cafree mesmo.
--
Marcelo Almeida
Bom, respondendo EFETIVAMENTE a pergunta do colega, que é como fazer
que não abra duas vezes a mesma janela MDI, podes fazer a seguinte
rotina, que caso já exista vai trazer ela pro tamanho normal e para a
frente:
var
i:integer;
cria:boolean;
begin
cria:=true;
for i:=0 to
Ola pessoal da lista, estou novamente tocando nesye assunto porque ainda
nao consegui resolver todos os meus problemas.
Eu sempre crio meus forms em tempo de execucao para economizar memoria,
para isto uso o codigo abaixo:
~ frm_config := Tfrm_config.create(nil);
~ try
~frm_config.Show;
~
Maninho, eu deixo o FormStyle como fsStayOnTop e nada
de MDIChild ou MDIForm... tudo StayOnTop.
Depois para criar:
if Form1 = nil then
Application.CreateForm(TForm1, Form1);
Form1.Show;
e no OnClose:
Form1 := nil;
Assim funciona bem e o nil libera o Form da memória.
Abraços
Marcos Jordão
16 matches
Mail list logo