La fenêtre CMD pour la journalisation n'apparaît jamais lors de l'utilisation de RunProgramJ'ai eu un problème lors de l'utilisation de "RunProgram" pour appeler mon exe, une fenêtre CMD pour la journalisation est censée apparaître, mais elle n'apparaît jamais.
La fenêtre CMD peut normalement apparaître lorsque je l'exécute manuellement. Y a-t-il quelqu'un qui peut m'aider à résoudre le problème ? Merci d'avance : )
Code JSL :
RP = Run Program(
Executable(
exefilepathRoot || "CommonalityEngine\PyScript\get_data_from_cache.exe"
),
Options( Char( CAEngine_Main:ConfigFileName ) ),
ReadFunction( "text" )
);
La fenêtre CMD peut s'afficher lors d'une exécution manuelle sans JSL :

Ingénierie Qualité et ProcédésRe : La fenêtre CMD pour la journalisation ne s'affiche jamais lors de l'utilisation de RunProgramCela ressemble @Craige_Hales Cela pourrait alors avoir raison dans la mesure où votre variable rp pourrait déjà avoir ces informations de journal.Essayez d'exécuter ceci :
names default to here(1);
RP = Run Program(
Executable(
exefilepathRoot || "CommonalityEngine\PyScript\get_data_from_cache.exe"
),
Options( Char( CAEngine_Main:ConfigFileName ) ),
ReadFunction( "text" )
);
New Window("Output", text box(RP));
Ou voici un exemple que n'importe qui sous Windows peut exécuter :
names default to here(1);
rp = Run Program(
Executable( "cmd.exe" ),
Options( {"/c", "TaskList\!n"} ),
Read Function( "text" ) // returns all text
);
New Window("Output", text box(rp));Re : La fenêtre CMD pour la journalisation ne s'affiche jamais lors de l'utilisation de RunProgramSalut, hein,
Merci pour votre solution. Je veux que l'utilisateur voie cette fenêtre car un journal est imprimé sur cette fenêtre.Re : La fenêtre CMD pour la journalisation ne s'affiche jamais lors de l'utilisation de RunProgramoui, nous avons besoin d'un peu plus d'informations. Interagissez-vous avec get_data_from_cache.exe ? Est-ce que ça ouvre d'autres fenêtres ? A-t-il besoin de recevoir une sorte de fin de fichier ?
La variable RP contient peut-être déjà le texte qui apparaîtrait dans la fenêtre CMD, essayez
write(rp);
et vois si c'est ce que tu veux.
Si vous devez taper quelque chose dans la fenêtre, la fonction writeFunction de RunProgram peut fournir le texte.
Alternativement, vous souhaiterez peut-être exécuter CMD.EXE et lui transmettre le nom du programme à exécuter.
Re : La fenêtre CMD pour la journalisation ne s'affiche jamais lors de l'utilisation de RunProgramSalut @baiyun ,
Qu'espérez-vous faire de cette fenêtre une fois ouverte ? La fonctionnalité Exécuter le programme n'affiche pas intentionnellement l'interface utilisateur car elle est destinée à vous permettre de contrôler ce programme entièrement via des scripts.Très probablement, ce que vous voulez faire dans cette fenêtre CMD, vous le feriez plutôt dans JMP et laisseriez JMP transmettre ces instructions au programme via des fonctions de lecture et d'écriture.
Ce lien pourrait vous aider à démarrer :
https://www.jmp.com/support/help/en/15.2/jmp/run-external-programs.shtml