Array
(
)

Preciso da Ajuda de todos - Liberando form da Memoria e ...

Tremonti
   - 13 set 2004

Galera, Olha eu de Novo aki...
Desta vez nao consigo resolver de modo algum...

Antes de começarem a ler(pois o texto eh grande), gostaria de dizer que eh a respeito de um DBGrid q nao se configura quando saio e entro no Formulário...

Bom, Já que se interessaram...
Aí Vai a BOMBA!!!

Tenho um formulario principal...
E neste formulario, ele cria outros forms a partir do comando...

if form = Nil then
form := Tform.Create(self)

Mas eu tenho um que me gera um problema...
É o seguinte...

Eu o crio...
E dentro dele tenho um DBGrid...
Neste DBGrid eu tenho umas configurações, que sao as seguintes:

Na revista do ClubeDelphi, aprendi a criar efeito zebrado, colocar a letra em vermelho se for um determinado texto, colocar imagem no DBGrid se for determinado Texto....e etc...
E tenho alguns botoes de navegação q mostram o registro atraves do DbGrid...

O Problema está na hora em quem eu fecho o formulario:

OnClose
Action := caFree;
Form := NIL;

Depois eu fico soh com o formulário principal...
Mas na hora em que eu dou um click no botao para me gerar akele form do DBGrid ele me gera sem efeito zebrado(soh com uma cor), nao aparece as figuras, nao destaca o campo, e nos botoes de navegaçao(que nao eh DBNavigator) ele nao acompanha atraves do DBGrid...

Ou seja, To danado...

Aguardo Anciosamente por uma resposta...
E agradeço a todos que leram esta mensagem....

Abraços...


Lindomar.des
   - 13 set 2004

Colega,

Eu uso o seguinte código:

no evento de onclose eu coloco:

action := cafree;

no form que chamou o form anterior eu uso:

if form = nil then
Application.CreateForm(Tform, form);
form.ShowModal;
form.release;
form := nil;

não sei se faz diferença, mas sempre uso esse código e nunca tive problema.

obs. tb uso cores diferentes no grid.


Dataclass
   - 13 set 2004

Olá!

Eu faço como o nosso colega citou

Citação:

#Código

Application.CreateForm(Tform, form); 
form.ShowModal;
form.release;
form := nil;


tenta também o tradicional

#Código

Application.CreateForm(Tform, form);
form.ShowModal;
form.Free;


Abraço!




Tnaires
   - 13 set 2004

E, pra complementar, execute seu programa passo-a-passo.
Abraços


Rômulo Barros
   - 13 set 2004

Outro Exemplo:

#Código

MeuForm := TMeuForm.Create(Application);
MeuForm.ShowModal;
FreeAndNil(MeuForm);


:wink: :wink: :wink:


Tremonti
   - 13 set 2004

Valew Galer,a vou testar em entro em contato com vcs....