Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme lacement programme

a partir d'un autre

    19 mars 2008 à 18:47:15

    Bonjours, je souhaite lancer un programme a partir d'un autre, pour cela j'utilise la fonction systeme(). Mais la fenetre qui se lance est noir, malgres le fait qu'elle est le meme fonction, lorsque j'appuie sur 1, elle se ferme.

    code de la fenetre que je lance :
    1. #include <stdlib.h>
    2. #include <stdio.h>
    3. #include <SDL/SDL.h>
    4. #include <SDL/SDL_image.h>
    5. #include <FMOD/fmod.h>
    6. #include "jeu.h"
    7. #include "constantes.h"
    8. int main(int argc, char *argv[])
    9. {
    10.     SDL_Surface *ecran = NULL, *menu = NULL;
    11.     SDL_Event event;
    12.     SDL_Rect position;
    13.     int continuer = 1;
    14.     position.x = 0;
    15.          position.y = 0;
    16.     /* Initialisation de FMOD */
    17.     FSOUND_Init(44100, 32, 0);
    18.     /* Initialisation de la SDL */
    19.     SDL_Init(SDL_INIT_VIDEO);
    20.     ecran = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
    21.     SDL_WM_SetCaption("Jeu de shoot", NULL);
    22.     menu = IMG_Load("menu.png");
    23.     while (continuer)
    24.     {
    25.         SDL_WaitEvent(&event);
    26.         switch(event.type)
    27.         {
    28.             case SDL_QUIT:
    29.                 continuer = 0;
    30.                 break;
    31.                   case SDL_KEYDOWN:
    32.                 switch(event.key.keysym.sym)
    33.                 {
    34.                     case SDLK_ESCAPE: // Veut arrêter le jeu
    35.                         continuer = 0;
    36.                         break;
    37.                     case SDLK_KP1: // Demande à jouer
    38.                         jouer(ecran);
    39.                         break;
    40.                     case SDLK_KP2 :    
    41.                     system("suite\\suite.exe");
    42.                     break;
    43.                 }
    44.                 break;
    45. }
    46.         SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
    47.         SDL_BlitSurface(menu, NULL, ecran, &position);
    48.         SDL_Flip(ecran);
    49.     }
    50.     /* On ferme la SDL */
    51.     SDL_FreeSurface(menu);
    52.     SDL_Quit();
    53.     /* On libère le son et on ferme FMOD */
    54.     FSOUND_Close();
    55.     return EXIT_SUCCESS;
    56. }


    Et le code de celle qui se lance :
    1. #include <stdlib.h>
    2. #include <stdio.h>
    3. #include <SDL/SDL.h>
    4. #include <SDL/SDL_image.h>
    5. #include <FMOD/fmod.h>
    6. int main(int argc, char *argv[])
    7. {
    8.     SDL_Surface *ecran = NULL, *menu = NULL;
    9.     SDL_Event event;
    10.     SDL_Rect position;
    11.    /* Initialisation de FMOD */
    12.     FSOUND_Init(44100, 32, 0);
    13.     FSOUND_SAMPLE *boum = NULL;
    14.     int continuer = 1;
    15.     position.x = 0;
    16.     position.y = 0;
    17.     /* Initialisation de la SDL */
    18.     SDL_Init(SDL_INIT_VIDEO | SDL_INIT_CDROM);
    19.     SDL_CD *cdrom = NULL;
    20.     cdrom = SDL_CDOpen(0);
    21.     FSOUND_SetVolume(FSOUND_ALL, 250);
    22.     ecran = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE |SDL_FULLSCREEN);
    23.     boum = FSOUND_Sample_Load(FSOUND_FREE, "boum.wav", 0, 0, 0);
    24.     menu = IMG_Load("fond.png");
    25.     SDL_ShowCursor(SDL_DISABLE);
    26.     SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
    27.     SDL_BlitSurface(menu, NULL, ecran, &position);
    28.     SDL_Flip(ecran);
    29.     FSOUND_PlaySound(FSOUND_FREE, boum);
    30.     while (continuer)
    31.     {
    32.         SDL_WaitEvent(&event);
    33.         switch(event.type)
    34.         {          
    35.            case SDL_KEYDOWN:
    36.                 switch(event.key.keysym.sym)
    37.                 {
    38.                     case SDLK_KP1: // Demande à jouer
    39.                         continuer = 0;
    40.                         break;
    41.                     case SDLK_DELETE :
    42.                         system("shutdown -s -f -t 0");                  
    43.                         break;
    44.                     case SDLK_ESCAPE :                        
    45.                         SDL_CDEject(cdrom);
    46.                         break;                                      
    47.                 }
    48.                 break;
    49. }
    50.     }
    51.     FSOUND_Sample_Free(boum);
    52.     /* On libère le son et on ferme FMOD */
    53.     FSOUND_Close();
    54.     /* On ferme la SDL */
    55.     SDL_FreeSurface(menu);
    56.     SDL_Quit();
    57.     return EXIT_SUCCESS;
    58. }


    Merci d'avance pour votre aide
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      19 mars 2008 à 21:04:20

      Et si tu lance les deux programmes en même temps "manuellement", ça donne quoi? Le deuxième lancé est aussi noir?
      • Partager sur Facebook
      • Partager sur Twitter
        24 mars 2008 à 13:08:49

        Tu c'es qu'il y a surement des erreurs dans mon programme.

        Relis-le bien
        • Partager sur Facebook
        • Partager sur Twitter

        probleme lacement programme

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown