[C con Clase] Error al conectar dos clases

hidelmecio hidelmecio en yahoo.es
Jue Dic 14 01:29:07 CET 2006


Saludos a todos:

Mi problema esta vez es el siguiente:

Tengo creadas dos clases, que independientemente funcionan bien y no me dan problema.

- CDibujo. Muestra gráficos por el monitor utilizando la librería SDL.
- lista. Almacena temporalmente datos en una lista, que me sirven para posteriormente mostrar datos por el monitor.

Al principio desarrollé ambas clases en programas diferentes, y como ya he mencionado ambas clases funcionan bien por separado. El problema radica en que intento que ambas clases se relacionen uniéndolas en un solo programa. Para ello he intentado que una de esas clases contenga a la otra para poder utilizar sus objetos y métodos. Y es ahí cuando se me plantea el problema.

Para no mostrar todo el programa que es muy largo y conociendo además donde está el problema, muestro tan solo el método que necesito que relacione ambas clases

---------------------------------------------------------------
void lista::Mostrar() {
        pnodo anterior;
        
        mascara = IMG_Load("mascara.gif");
        SDL_SetColorKey(mascara, SDL_SRCCOLORKEY|SDL_RLEACCEL,                         
                   SDL_MapRGB(mascara->format, 255, 255, 255));
        anterior = primero->siguiente;
        while(anterior != NULL)
        {
           if (anterior->mov >= 0)
           {
              ventanuco.x = anterior->Posx;
              ventanuco.y = anterior->Posy;
              SDL_BlitSurface(mascara, NULL, pantalla, &ventanuco);
           }
           anterior = anterior->siguiente;
        }
        SDL_Flip(pantalla);
        SDL_FreeSurface(mascara);        
}
-------------------------------------------------------------------

El método mostrado pertenece a la clase lista y en su interior se encuentra el objeto "SDL_Surface *pantalla" que pertenece a la clase CDibujo.

Pues bien, cuando ejecuto el programa que incluye ambas clases ya relacionadas, éste no muestra ningún signo de problema, pero cuando lo termino (de forma correcta, esto es, mediante la tecla ESC, que es la especificada por mi para finalizarlo) me sale el siguiente error en una ventana de Windows XP:

---------------------
Firma del error

AppName: programa.exe
AppVer:0.0.0.0
ModName: sdl_ttf.dll
ModVer:2.0.8.0.
Offset:0000146f
----------------------

y además un enlace para mostrar con más detalle el problema, que me indica una gran cantidad de ficheros y datos que no entiendo.

Utilizo Dev-C++, la librería SDL, y como Sistema Operativo Windows XP.

Gracias.


Más información sobre la lista de distribución Cconclase