Comment sortir en erreur depuis sub main

elegardien Messages postés 18 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 20 janvier 2006 - 18 janv. 2006 à 11:07
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 20 janv. 2006 à 16:13
Salut @ tous,

Comment puis-je remonter une erreur en sortie de mon sub main.
Je sais détecter la présence d'une erreur mais j'aimerai que l'exécution de mon .exe soit incidenté pour que mon ordonanceur puisse le voir.


La prise du fort VBA.
Eric.

6 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
18 janv. 2006 à 14:52
"remonter une erreur" ??????????????????
"incidenté" ?????????????????
"ordonanceur" ????????????????

CR
0
elegardien Messages postés 18 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 20 janvier 2006
18 janv. 2006 à 15:30
"remonté d'erreur" :
A l'image d'une fonction, tu peux choisir de retourner une valeur signifiant le bon ou le mauvais déroulement de la fonction. La fonction appelante sait alors le résultat d'exécution de la fonction appellée.Typiquement, la valeur de retour de l'exécution d'une commande unix différente de 0 correspond à une exécution en erreur.

"ordonanceur"
Le plus simple et le plus célèbre sous windows correspond aux "Tâches planifiées"
Le plus simple et le plus célèbre sous unix correspond au "cron"
En l'occurence, j'utilise "Dollar Universe" sou windows.


"incidenté"
Les taches lancées depuis un ordonanceur qui ont échouées sont dites incidentées.

Je souhaiterai que le résultat de l'exécution de mon .exe sous VB6 puisse être interprété par Dollar Universe. Le pb de VB c'est qu'il lance un pop-up sur une erreur d'exécution et que Dollar Universe ne gère pas le fenètrage windows. Je dois donc trouver une autre alternative au pop-up pour détecter une erreur depuis $U, d'ou mon idée d'utiliser un code retour.

La prise du fort VBA.
Eric.
0
elegardien Messages postés 18 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 20 janvier 2006
18 janv. 2006 à 18:23
Peut on retourner une valeur depuis "sub main" ?
Y a-t-il une varaible d'envirommenet qui recoit le resultat de l'exécution d'un .exe VB6 ?
Ou alors, y a-t-il un evénement à envoyer pour signaler l'echex d'exécution ?

Qq1 a-t-il une idée ?


La prise du fort VBA.
Eric.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
19 janv. 2006 à 01:04
Nativement non ! VB6 ne sait pas causer avec l'environnement DOS, mais je ne parierai pas que cela soit impossible via quelques API bien pondues !!
Mais je ne peux pas t'en dire plus.
Je pense qu'il va s'agir de "hooker" le flux de sortie de la console DOS pour y balancé un long.

CR

P.S. : Si quelqu'un d'autre que moi a découvert avec ce message les termes d'Ordonanceur et d'incidenté, qu'il le dise ! Car, franchement, en plus de 25 ans de pratique informatique, je n'avais jamais croisé ces mots là !! Même si les concepts me sont tout à fait connu !!
Peut-être est-ce parce que je ne suis pas un "langue de Shakespear-ophobe" dans l'âme !!! (Vive les "emails" et les "CD-ROM") !!!!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
elegardien Messages postés 18 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 20 janvier 2006
20 janv. 2006 à 16:05
Merci pour ta piste, j'avoue ne pas connaitre non plus le "hocker". Merci deton aide.

La prise du fort VB6.
Eric.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 janv. 2006 à 16:13
il suffit d'appeler l'API ExitProcess

à noter qu'il ne faut pas l'utiliser depuis l'IDE (en mode compilé uniquement) sinon, l'IDE est fermé

vous pouvez faire, par exemple :
if rc <> 0 Then
If App.LogMode = 0 Then
Msgbox "Une erreur est survenue : " & rc
Else
ExitProcess rc
End If
End If

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous