Lancement fichier .bat

[Résolu]
Signaler
Messages postés
166
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
13 octobre 2008
-
Messages postés
166
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
13 octobre 2008
-
Bonjour!

Je souhaiterais réaliser un executable qui me lance une application java (une classe java)

la commande CMD pour lancer une classe est: java MaClasse

J'ai tenter de réalisé çà avec un shellexecute:
ShellExecute(0, nil, 'CMD', PChar('java MaClasse'), nil, 0);

Mais malheureusement çà ne marche pas... Je me suis donc pencher vers une autre solution a savoir créer un fichier bat, l'executer, puis le detruire... çà me donne le code suivant:

var path:string
begin
path:=ExtractFilePath(Application.ExeName);
assignfile(fichier ,path+'resource/tmp.bat');
rewrite(fichier);Write(fichier,'java MaClasse');
closefile(fichier); //ferme le fichier
Application.ProcessMessages;
ShellExecute(0, nil, 'open', PChar(path+'resource/tmp.bat'), nil, 0);
//DeleteFile(PChar(path+'resource/tmp.bat'));
end

Ma classe se trouve bien sûr d un repertoire resource a coté de mon executable.
Le fichier .bat est correctement généré, mais il ne semble pas s'éxécuté...
Par contre, si j'execute manuellement le fichier .bat créé par mon appli, çà marche nickel...

Quelqu'un aurait-il une idée d'où peut venir le probleme?

Merci d'avance

1 réponse

Messages postés
166
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
13 octobre 2008

J'ai trouvé! En faite l'erreure etait tellement grosse que je ne l'avais pas vu! Cà fait 2h que j'ai le nez dessus! A force d'allé trop vite on fait n'importe quoi!

ShellExecute(0, nil,  'open', Pchar('monFichier'),nil, 0);

ShellExecute(0, 'open', Pchar('monFichier'),nil, nil, 0);

C'est sûr qu'avec les paramètres dans le bon ordre, çà marche tout de suite mieux!