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;