Bonjour
Je souhaiterai savoir s'il est possibl de récupérer le résultat de mon programme car je lui ai dit de retourner -3 pour un type d'erreur et -1 autrement.
Le hic c'est que la fonction Exec n'a pas l'air de récupérer ces codes de retour lorsque je fais un try catch (disons que meme si le programme exe ne marche pas il considère que la commande shell elle c'est bien passée. logique on me dira mais moi ça m'aide pas).
Bref si vous connaitriez une option à rajouter, j'ai bien essayé un DosError mais inno setup me dit qu'il lui faut un BEGIN et je ne vois pas pourquoi et quand je mets ce BEGIN ça ne marche pas mieux (il me dit Identifier expected à la ligne uses...)
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 function Filesystem(Param : String): String; BEGIN Uses Dos; Var ResultCde: Integer; Dir : String; begin ResultCde := 0; Dir := ExpandConstant('{app}')+'/lib'; Exec('cmd', ExpandConstant('/c monprog.exe parameters'), '', SW_SHOW, ewWaitUntilTerminated, ResultCde); ResultCde:=DosError; MsgBox('ResultCde= ''' + ResultCde + '''.', mbInformation, mb_Ok); Result := Dir; end; END;
Partager