Bonjour à tous, et merci à ceux qui pourront m'aider.

Dans le cadre d'un stage, je dois reprendre un ancien programme de pilotage d'un générateur de signaux TV DTU-215 de la marque DECTEK. Quand j'envoie des informations au générateur, le programme plante et quitte. Tout me porte a croire que leurs fichiers sources et leurs fichiers de ressources sont obsolètes.

Quelqu'un a t'il déja eu le même probleme que moi ? Si quelqu'un connais les dessous d'envoi de données en USB en C++, je voudrais bien qu'il m’explique. Mon probleme pourrait-il venir des fichiers constructeurs ? ou alors je n'envoie pas mes données correctement ?

Merci de votre aide !

Voici la boucle d'envoi des données

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
 
 
    void Envoi_Donnees()
    {
	int RetValue(0);
	Player ThePlayer;
	static char argv[32][32];
	char* pargv[32];
	char* cmd= _commande;
	char* pt = cmd;
 
 
int i=0;
while (true)
	{
		pt = strstr(cmd, " ");		// find space
		if (pt == 0)				// space not find
		{
			strcpy(argv[i++], cmd);	// last command
			break;					// end of cmd
		}
		*pt = 0;					// end of string
		strcpy(argv[i++], cmd);		// one command
		pargv[i] = &argv[i][0];		// init pointer
 
		*pt++;						// next command
		strcpy(cmd, pt);			// erase previous command
	}
	if (RetValue==0)
	{
		try
		{   
			RetValue = ThePlayer.Play(i-1, pargv);// Tout me porte a croire que c'est dans cette methode que le programme plante et donc renvoie RetValue=-1
			if (RetValue==-1)
					exit(2); //RetValue vaut toujours -1 ce qui me ferme automatiquement mon programme.
 
		}
		catch(...)
		{
			RetValue = -1;
 
		}
	}
	else
		return;
    }
};

Voici le code de la méthode Play (disponible dans les fichiers du DTU-215)
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
int Player::Play(int argc, char* argv[])
{
	int RetValue=0;
 
	try
	{
		try
		{
			// Parse command line options
			m_CmdLineParams.Init();
			m_CmdLineParams.ParseCommandLine(argc, argv);
		}
		catch ( Exc e ) {
			Log(e, true);
			Log("", true);
			Log("Use -? option for help", true);
			return -1;
		}
		catch ( ... ) {
			return -1;
		}
		if ( m_CmdLineParams.m_ShowHelp )
		{
			// Disable silent mode
			m_CmdLineParams.m_SilentMode = false;
			ShowHelp();
			return RetValue;
		}



Merci !

Au revoir.