Ver Mensaje Individual
  #4  
Antiguo 05-05-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si, no te lo explique lo suficientemente y asumí que sabias que NO puedes crear directamente una matriz de objetos VCL sino una matriz de punteros a objetos VCL (Un puntero a puntero)

Para crear:

Código:
  TPanel** Panel = new TPanel*[60];
  for(int a=0; a<60; a++){
    Panel[a] = new TPanel(this);
    Panel[a]->Caption = IntToStr(a);
  }
Tienes varias formas de destruir la matriz, la mas intuitiva es esta:

Código:
   for(int n=0; n<60; n++){
      delete Panel[n]; //Destruyes cada objeto
   }
   delete Panel;  // destruyes el puntero a 60 punteros
Saludos.

Aclaración:

Creo los TPanel así new TPanel(this) asumiendo que this es un form (osea un TComponent*) En caso contrario, que this no sea un TComponent* fallará

Última edición por escafandra fecha: 05-05-2008 a las 20:39:27.
Responder Con Cita