Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 24-12-2010
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 24
Toni Va por buen camino
Por el fracmento de codigo que nos enseñas veo que gestionas mal los punteros, ya que estas realizando varias (x) asignaciones a un mismo puntero dentro del bucle.

Es decir si x=3, estas haciendo 3 asignaciones de memoria al puntero SeriesList con el problema que no podras liberar la memoria despues puesto que el puntero solo apuntara a la ultima asignacion de memoria.

Código Delphi [-]
//grafico es el TChart
TFastLineSeries *SerieLineas;
grafico->SeriesList->Clear();
for(indice=1;indice{
           //creo las series dependiendo de x
           SerieLineas=new TFastLineSeries(grafico);
           SerieLineas->ParentChart=grafico;
           SerieLineas->LinePen->Width=3;
           SerieLineas->Marks->Visible=true;
           SerieLineas->Marks->FontSeriesColor=true;
           SerieLineas->Marks->Font->Size=7;
           SerieLineas->Marks->Transparent=true;
           SerieLineas->Marks->Style=smsValue;
           SerieLineas->Color=taula_colors[indice];
           SerieLineas->Title=aux;

           grafico->Series[indice]->Add(tal...)
}

De esta otra forma puedes despues liberar la memoria que asignaste en cada SerieLineas.

Código Delphi [-]
//grafico es el TChart
TFastLineSeries *SerieLineas[10];  /* suponiendo que x nunca sera mayor de 10 */
grafico->SeriesList->Clear();
for(indice=1;indice{
           //creo las series dependiendo de x
           SerieLineas[indice-1]=new TFastLineSeries(grafico);
           SerieLineas[indice-1]->ParentChart=grafico;
           SerieLineas[indice-1]->LinePen->Width=3;
           SerieLineas[indice-1]->Marks->Visible=true;
           SerieLineas[indice-1]->Marks->FontSeriesColor=true;
           SerieLineas[indice-1]->Marks->Font->Size=7;
           SerieLineas[indice-1]->Marks->Transparent=true;
           SerieLineas[indice-1]->Marks->Style=smsValue;
           SerieLineas[indice-1]->Color=taula_colors[indice];
           SerieLineas[indice-1]->Title=aux;

           grafico->Series[indice]->Add(tal...)
}

..................


for(indice=1;indice{
           //elimino las series dependiendo de x
           delete SerieLineas[indice-1];
}

Espero se sirva de ayuda.
__________________
Saludos,

Bitman
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
crear MaterialLibrary dinamicamente Isuri Varios 13 22-04-2009 21:42:33
Crear Frame Dinámicamente chinchan C++ Builder 2 09-05-2008 14:07:08
Crear ODBC dinámicamente? HccSoft Conexión con bases de datos 3 18-03-2008 15:19:32
Crear form dinamicamente karocs Varios 1 15-09-2005 20:15:18
crear popups dinamicamente. tango01 OOP 2 06-01-2004 16:33:03


La franja horaria es GMT +2. Ahora son las 13:04:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi