Ver Mensaje Individual
  #1  
Antiguo 12-01-2006
aoiTo aoiTo is offline
Miembro
 
Registrado: jul 2004
Ubicación: Cádiz - España
Posts: 21
Reputación: 0
aoiTo Va por buen camino
Problemas con AnsiString

Siguiendo vuestro consejo, y despues de dar un vistazo a la guia de estilo, vuelvo a escribir el mensaje.
Lo dicho, este es el codigo:

Código:
#ifndef _TALBUM_
#define _TALBUM_

   typedef struct{
      AnsiString Album;
      AnsiString Grupo;
      AnsiString Estilo;
      AnsiString Cover;
      int Formato;
   }tAlbum;

   tAlbum *Catalogo;

#endif
Código:
void __fastcall TfrmCMusica::FormActivate(TObject *Sender)
{
 int i=0,j;
 AnsiString disco;

 if(!access("album.txt",0)){
    memoAux->Lines->LoadFromFile("album.txt");
    i = memoAux->Lines->Count;
 }

 //Reservamos memoria para el vector
 Catalogo=(tAlbum*)malloc(sizeof(tAlbum)*i);

 //Inicializamos el vector con los discos que ya tenemos guardados
 for(j=0;j<i;j++){
    disco = memoAux->Lines->operator [](j);
    Catalogo[j].Album = disco.SubString(1,disco.Pos(":")-1);
    disco.Delete(1,disco.Pos(":"));

    Catalogo[j].Grupo = disco.SubString(1,disco.Pos(":")-1);/*aqui falla*/
    disco.Delete(1,disco.Pos(":"));

    Catalogo[j].Estilo = disco.SubString(1,disco.Pos(":")-1);
    disco.Delete(1,disco.Pos(":"));
    Catalogo[j].Formato= disco.ToInt();
 }

}
Pues eso que falla al ejecutar en el ligar indicado y no se porque sera, porque (segun creo) no hay que reservar memoria para un AnsiString, pero lo que ya no entiendo es porque al declarar Catalogo como un array estatico si funciona.
A ver si ahora me podeis ayudar, que me perdonen los que se hayan molestado.
Responder Con Cita