IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Fenetre d'execution qui s'ouvre et ferme instantanement


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut Fenetre d'execution qui s'ouvre et ferme instantanement
    Bonjour tout le monde!!

    Je suis sous dev c++ et j'utilise la librairie graphique SDL. Tout marchait correctement jusqu'a l'insertion de fonction ecrivant du texte.

    Mon probleme est que la fenetre d'execution s'ouvre et se ferme instantanement !!! J'ai pourtant tout essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SDL_delay();
    system("pause");
    j'utilise egalement une fonction pause:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Alors la je ne sais plus quoi faire !!!!
    Si vous avez une idee
    Merci

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Je serai d'avis à ce que "SDL Parachute Deployed" (ou un truc comme ça ) soit déclenché. Tu n'a pas un fichier stderr.txt qui est créé ?

    Montre nous ta fonction affichant du texte pour voir si ça vient de là. Peut être une petite erreur s'est glissé dedans.
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut
    Ma fonction est toute simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     // Chargement de la police 
       police = TTF_OpenFont("arial.ttf", 65);
        // Ecriture du texte dans la SDL_Surface "texte" en mode Blended (optimal) 
        texte = TTF_RenderText_Blended(police, "blablabla", couleurBlanche);
     
     while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                 case SDL_QUIT:
                    continuer = 0;
                    break;
            }
       SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
     position.x = 60;
              position.y = 200;
            SDL_BlitSurface(texte, NULL, ecran, &position); // Blit du texte par-dessus 
            SDL_Delay( 6000 );//On attend 6000 milisecondes soit 6s
            SDL_Flip(ecran);
               }
    ET je fais tout les trucs habituels sdl_quit(); etc...
    Est ce que tu voulez voir?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut
    alleezzz maintenant j'ai des warnings:
    Permission denied
    ld returned 1 exit status
    H:\Divers\Dev-Cpp\leprojetquitu\Makefile.win [Build Error] [Project2.exe] Error 1


  5. #5
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Comme MrDuChnok, je pense que ton problème viens d'un problème de 'segmentation fault' détecté par la SDL (avec déploiement du parachute ).

    Est-ce que tu es sûr que la SDL est initialisée avant toute utilisation ?

    J'ai déjà eu un problème similaire en faisant des tests. J'avais une classe qui utilisait une surface SDL (pour afficher du texte). Cette surface était créée lors d'instanciation de la classe.

    Et j'avais pour mes tests une variable globale basée sur cette classe. Mon objet était créé avant le début du main (puisqu'il était global), ce qui entrainait la 'segmentation fault'.

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Emyleet
    alleezzz maintenant j'ai des warnings:
    Permission denied
    ld returned 1 exit status
    H:\Divers\Dev-Cpp\leprojetquitu\Makefile.win [Build Error] [Project2.exe] Error 1

    La seul fois où j'avais eu ce problème venais du fait que le processus s'était pas bien terminé donc il tournais encore en tache de fond ... donc forcément ld ne peut pas construire le fichier binaire s'il tourne encore
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    tu devrais tester le chargement de la police

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut
    C'est bon je n'ai plus de warnings !

    Mais cependant j'ai toujours mon probleme principal qui est l'ouverture et la fermeture immediate de la fenetre d'execution

    J'ai l'impression que ca vient de la fonction Text_Render() et le chargement de la police !

    Du coup pour le moment au lieu d'ecrire du texte directement j'ecris mon texte dans paint et je le blitte apres ... pas tip top comme moyen !!

    Vous avez deja eu des problemes avec cette fonction?
    Merci

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Fait un test de validité sur l'ouverture de la police pour voir si elle s'ouvre au moins correctement ... en fait toutes fonctions qui renvoie une valeur faudrais les vérifier et afficher des messages en conséquence ... ca permet de debugger pas mal deja
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par Emyleet
    C'est bon je n'ai plus de warnings !

    Mais cependant j'ai toujours mon probleme principal qui est l'ouverture et la fermeture immediate de la fenetre d'execution

    J'ai l'impression que ca vient de la fonction Text_Render() et le chargement de la police !

    Du coup pour le moment au lieu d'ecrire du texte directement j'ecris mon texte dans paint et je le blitte apres ... pas tip top comme moyen !!

    Vous avez deja eu des problemes avec cette fonction?
    Merci
    Si tu parles de la fonction TTF_RenderText_Blended, je l'utilise et ça fonctionne... sauf quand j'oublie de mettre la police dans mon répertoire, ou d'initialiser SDL_TTF...

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut
    Je peux fair ca pour tester ma fonction ?

    if(TTF_RenderText_Solid(police, "Salut les Zér0s !", couleurBlanche) == -1)
    {
    fprintf(stderr, "Erreur d'initialisation de TTF_RenderText_Solid : %s\n", TTF_GetError());
    exit(EXIT_FAILURE);
    }


    mais ce que renvoit la fonction c'est un pointeur , je ne peux pas le mettre egal a un entier?
    Je pourrais ensuite lire les erreurs dans un fichier txt qui se sera creait c'est bien ca?

  12. #12
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par Emyleet
    Je peux fair ca pour tester ma fonction ?

    if(TTF_RenderText_Solid(police, "Salut les Zér0s !", couleurBlanche) == -1)
    {
    fprintf(stderr, "Erreur d'initialisation de TTF_RenderText_Solid : %s\n", TTF_GetError());
    exit(EXIT_FAILURE);
    }


    mais ce que renvoit la fonction c'est un pointeur , je ne peux pas le mettre egal a un entier?
    Je pourrais ensuite lire les erreurs dans un fichier txt qui se sera creait c'est bien ca?

    Il faut que tu compares le retour à NULL et pas à -1. Et si tu veux utiliser la surface créée, mieux vaut la stocker dans une variable...

    Regardes l'exemple donné dans la doc de SDL_TTF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Render some text in solid black to a new surface
    // then blit to the upper left of the screen
    // then free the text surface
    //SDL_Surface *screen;
    SDL_Color color={0,0,0};
    SDL_Surface *text_surface;
    if(!(text_surface=TTF_RenderText_Solid(font,"Hello World!",color))) {
        //handle error here, perhaps print TTF_GetError at least
    } else {
        SDL_BlitSurface(text_surface,NULL,screen,NULL);
        //perhaps we can reuse it, but I assume not for simplicity.
        SDL_FreeSurface(text_surface);
    }

  13. #13
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut
    Alors la je dois vraiment avoir du mal... pcq je fais le test indique precedemment et lorsque je fais executer aucune fenetre s'ouvre et le bouton executer redevient utilisable !
    cependant je n'ai pas de fichier .txt qui se creait ou je pourrais lire l'erreur.
    je peux lire l'erreur dans un fichier qui se creait ds mon repertoire c'est bien ca?

  14. #14
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Bon ben si tu n'y arrive vraiment pas post ici un bout de code un peu plus significatif d'où pourrait venir l'erreur, peut être que quelqu'un trouvera ton erreur.

    Essaye aussi de faire du débuguage à la mano (fprintf / cerr) après chacune des étapes importantes pour localiser le problème.

    Ou essaye d'utiliser un debugeur, gràce au pas à pas, tu devrai aussi voir d'où vient ton erreur.
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  15. #15
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut
    Mon code est tout ce qu'il y a de plus bateau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    int main(int argc, char *argv[])
    {
    int j,resistor,inductance,capacity,length;
    int i = 0;
    int continuer = 1;
    SDL_Surface *ecran = NULL,*lignes[255] = {NULL},*texte = NULL; //declaration de deux pointeurs de surfaces
    SDL_Rect position;
    SDL_Event event;
     
    TTF_Font *police = NULL;//pointeur de police
    SDL_Color couleurBlanche = {255, 255, 255};//declaration de la couleur blanche
     
     
     
    SDL_Init (SDL_INIT_VIDEO); // Démarrage de la SDL (ici : chargement du système vidéo)
    TTF_Init();//Demarrage de la SDL_ttf pour le texte
     
     
    if (SDL_Init(SDL_INIT_VIDEO) == -1)// Démarrage de la SDL. Si erreur alors..
                {
                fprintf(stderr, "Erreur d'initialisation de la SDL"); // Ecriture de l'erreur
                exit(EXIT_FAILURE);// On quitte le programme
                }
     
    ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE| SDL_DOUBLEBUF);
    SDL_WM_SetCaption("Gestion du texte avec SDL_ttf", NULL);
     
        // Chargement de la police 
      police = TTF_OpenFont("arial.ttf", 65);
        // Ecriture du texte dans la SDL_Surface "texte" en mode Blended (optimal) 
      texte = TTF_RenderText_Blended(police, "blablabla", couleurBlanche);
    position.x = 0; // Les coordonnées de la surface seront (0, 0)
    position.y = 0;
     
     
     while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                 case SDL_QUIT:
                    continuer = 0;
                    break;
            }
     
             } 
    SDL_BlitSurface(texte, NULL, ecran, &position); // Blit du texte par-dessus 
     
    SDL_Flip(ecran); // Mise à jour de l'écran avec sa nouvelle couleur 
     
     
    TTF_CloseFont(police); //Fermeture de la police avant TTF_Quit 
    TTF_Quit();//Arret de la SDL_ttf 
     
    SDL_FreeSurface(texte);
     
    SDL_Quit(); //Arrêt de la SDL (libération de la mémoire).                      
     
    //system("PAUSE");	
    return(0);            
     
    }

  16. #16
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Tu initialises deux fois la SDL. Je ne pense pas que ça entraine une erreur, mais c'est pas terrible...

    Et tu as ta boucle d'attente avant d'affiche ton texte. C'est donc normal que tu ne voies rien !

    Si tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SDL_BlitSurface(texte, NULL, ecran, &position); // Blit du texte par-dessus 
     
    SDL_Flip(ecran); // Mise à jour de l'écran avec sa nouvelle couleur
    avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                 case SDL_QUIT:
                    continuer = 0;
                    break;
            }
     
             }
    ça ira déjà mieux...

    Edit : Tu ne fais pas le test de réussite de l'initialisation de SDL_TTF, ni de test pour vérifier que ta police est bien chargée...

  17. #17
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Eusebe
    Edit : Tu ne fais pas le test de réussite de l'initialisation de SDL_TTF, ni de test pour vérifier que ta police est bien chargée...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE| SDL_DOUBLEBUF);

    Ca aussi tu pourrais le tester...

    Jc

  18. #18
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Points : 37
    Points
    37
    Par défaut
    oui alors j'ai fait ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    int main(int argc, char *argv[])
    {
    int j,resistor,inductance,capacity,length;
    int i = 0;
    int continuer = 1;
    SDL_Surface *ecran = NULL,*texte = NULL; //declaration de deux pointeurs de surfaces
    SDL_Rect position;
    SDL_Event event;
     
    TTF_Font *police = NULL;//pointeur de police
    SDL_Color couleurRouge = {255, 0, 0};//declaration de la couleur noire
     
    SDL_Init (SDL_INIT_VIDEO); // Démarrage de la SDL (ici : chargement du système vidéo)
    TTF_Init();//Demarrage de la SDL_ttf pour le texte
     
    if (SDL_Init(SDL_INIT_VIDEO) == -1)// Démarrage de la SDL. Si erreur alors..
                {
                fprintf(stderr, "Erreur d'initialisation de la SDL"); // Ecriture de l'erreur
                exit(EXIT_FAILURE);// On quitte le programme
                }
     
    ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
    if ((!(ecran=SDL_SetVideoMode(640, 480, 32,SDL_HWSURFACE))))
       {
                fprintf(stderr, "Erreur d'initialisation de l'ecran"); // Ecriture de l'erreur
                exit(EXIT_FAILURE);// On quitte le programme
                }         
    SDL_WM_SetCaption("Gestion du texte avec SDL_ttf", NULL);
    SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 0, 0));
     
    police = TTF_OpenFont("arial.ttf", 100); // Ouverture de la police angelina au début 
    if ((!(police = TTF_OpenFont("arial.ttf", 100))))
       {
                fprintf(stderr, "Erreur d'initialisation de la police"); // Ecriture de l'erreur
                exit(EXIT_FAILURE);// On quitte le programme
                }         
    texte = TTF_RenderText_Blended(police, "Salut les Zér0s !", couleurRouge);//ecriture du texte
    if ((!(texte = TTF_RenderText_Blended(police, "Salut les Zér0s !", couleurRouge))))
       {
                fprintf(stderr, "Erreur d'initialisation du texte"); // Ecriture de l'erreur
                exit(EXIT_FAILURE);// On quitte le programme
                }         
     
              position.x = 60;
              position.y = 200;
              SDL_BlitSurface(texte, NULL, ecran, &position); // Blit du texte par-dessus           
    while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                 case SDL_QUIT:
                    continuer = 0;
                    break;
            }  
     
     
    } 
     
    TTF_CloseFont(police); //Fermeture de la police avant TTF_Quit 
    TTF_Quit();//Arret de la SDL_ttf 
     
    SDL_FreeSurface(texte);
     
    SDL_Quit(); //Arrêt de la SDL (libération de la mémoire).                      
    //pause(); 
    system("PAUSE");	
    return(0);            
     
    }
    et j'obtiens "erreur de l'initialisation de ma police "

    Mais eusebe ou est ce que tu vois que je fais deux initialisations de SDL?

    Je fais quoi maintenant que je sais que l'erreur vient de l'initaialisation de la police alors qu'il n'y a pas de pb dans la focntion ?

  19. #19
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Tu pourrais aussi afficher le message d'erreur renvoyé par SDL_TTF avec TTF_GetError().

    Tu as bien le fichier "arial.ttf" dans ton répertoire ?

    Et pour la double initialisation de la SDL, c'est ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SDL_Init (SDL_INIT_VIDEO); // Démarrage de la SDL (ici : chargement du système vidéo)
    TTF_Init();//Demarrage de la SDL_ttf pour le texte
     
    if (SDL_Init(SDL_INIT_VIDEO) == -1)// Démarrage de la SDL. Si erreur alors..
                {
                fprintf(stderr, "Erreur d'initialisation de la SDL"); // Ecriture de l'erreur
                exit(EXIT_FAILURE);// On quitte le programme
                }
    La première ligne, et la clause de ton if...

  20. #20
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    TTF_Init retourne un entier, il faut aussi vérifier son retour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(TTF_Init()==-1) {
        printf("TTF_Init: %s\n", TTF_GetError());
        exit(2);
    }
    Jc

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. formulaire qui s'ouvre, se ferme et .. se réouvre
    Par emulamateur dans le forum IHM
    Réponses: 4
    Dernier message: 18/08/2012, 16h16
  2. bloc qui s'ouvre et ferme un autre
    Par laurentche dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 13/12/2011, 08h03
  3. Réponses: 10
    Dernier message: 09/11/2006, 17h07
  4. bouton qui ferme un formuaire et qui en ouvre un autre
    Par guimauve dans le forum Access
    Réponses: 6
    Dernier message: 13/07/2006, 10h00
  5. programme qui s ouvre, execute et se ferme ..
    Par hijodelanoche dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2005, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo