GARANTIR DESCONTO

Fórum Componente não é destruido #352767

31/01/2008

0

Olá amigos, vamos ver se alguém já passou por isso, tenho um vetor de 4 posições do componente panel, em tempo de execução coloco esses panels em um formulário e em determinado momento eu os destruo, o estranho é que o primeiro não esta sendo destruído, apenas os 3 restantes. O que eu não entendo é que os outros objetos foram criados com base no primeiro, onde eu apenas alterei as propriedades de acordo com o necessário.

Estou criando assim:
//panel1 recebe botões de sistema
vg_panel[1] := TPanel.Create(NIL);
WITH vg_panel[1] DO
BEGIN
Parent := Self;
Left := 16;
Top := 48;
Width := 489;
Height := 281;
TabOrder := 18;
Visible := TRUE;
END;

E destruindo assim:
vg_panel[1].Destroy;
vg_panel[1]:= NIL;
vg_panel[1].Free;
ou
FreeAndNil(vg_panel[1]);


Du_nirvana

Du_nirvana

Responder

Posts

31/01/2008

Du_nirvana

Ninguém pode me ajudar??


Responder

Gostei + 0

31/01/2008

Djjunior

estranho kra eu tenho uma rotina similar e funcina, a titulo de exemplo segue abaixo
procedure TForm2.DestroiPanels;
var i: integer;
    panel: TPanel;
begin
   for I := 1 to IndCreat do
   begin
      panel := TPanel(FindComponent(´panel´ + intToStr(i)));
      if panel <> nil then
         FreeAndNIl(panel);
   end;
   IndCreat := 0;
end;

o IndCreat é uma variável que vou incrementando a medida que tenho vou criando os componentes



Responder

Gostei + 0

31/01/2008

Du_nirvana

Tenho vários outros componentes e faço da mesma maneira, mas com esse infeliz não está dando certo....


Responder

Gostei + 0

31/01/2008

Rodc

Seu vetor não começa na posição zero?


Responder

Gostei + 0

31/01/2008

Du_nirvana

O de componente não, e no momento em que eu crio eu não uso variável como índice, eu uso o numero 1 mesmo...


Responder

Gostei + 0

01/02/2008

Du_nirvana

Alguém tem alguma idéia ?


Responder

Gostei + 0

01/02/2008

Du_nirvana

Olá senhores, não sei ao certo o porque, mas ao passar o meu vetor de [1..4] para [0..4] deu certo, não alterei nenhuma vírgula a mais e tudo ficou OK, se alguém souber o porque posta ai, flw, abraços...


Responder

Gostei + 0

01/02/2008

Djjunior

vc declarou seu vetor como [b:061ea1cd08]array[0,4][/b:061ea1cd08] não ? ou seja vc tem 5 elementos no vetor


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar