VB.NET

ArdTIC - 20 mars 2013 à 07:49
 ArdTIC - 20 mars 2013 à 10:02
Pour une application spécifique, je dois créer un exécutable qui sera appellé par une application externe via une ligne de commande.
Cette application me communique des paramètres que je récupère avec une instruction : Param = Command.ToString
Par contre, je ne trouve pas de solution pour retourner les valeurs en sortie vers la ligne de commande.
Merci d'avance pour vos conseils.

8 réponses

Utilisateur anonyme
20 mars 2013 à 08:18
Bonjour,
Par contre, je ne trouve pas de solution pour retourner les valeurs en sortie vers la ligne de commande.

Pas très clair tout ça. Merci de donner des détails.

Command est obsolète. Voir My.Application.CommandLineArgs
0
ok, je vais essayer d'être plus clair avec des exemples:

App1 = l'application cliente (limitée en terme d'appel de processus externe)
App2 = L'application VB.net qui est appellée
Au sein du code App1, une instruction appelle App2 et lui passe 1 paramètre "Param1"
En fin d'exécution, App2 retourne le résultat à App1.

En fait, le besoin est d'avoir une application qui se comporte comme une commande DOS,
telle que "C:\>IPCONFIG /ALL"
qui reçoit en paramètre "/ALL"
et qui retourne sa réponse dans la fenêtre d'appel.

Dans mon cas, on aurai "C:\MonAppli /Param" lors de l'appel
et un résultat qui serai retournée en sortie (ou non d'ailleurs)
0
Utilisateur anonyme
20 mars 2013 à 09:17
App1 = l'application cliente (limitée en terme d'appel de processus externe) 

De quelle façon App1 interprètera le résultat et en est-elle capable ?
0
je n'ai pas la maitrise de cette partie...
mais comme je le présentais dnas mon second exemple, mon besoin pour App2 est de retourner une réponse dito le retour de ipconfig par exemple
0

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

Posez votre question
Utilisateur anonyme
20 mars 2013 à 09:39
Si App2 est une application console, tu faire ton traitement de cette façon :
Module Module1

    Sub Main()
        'récupération des arguments
        Dim args As ObjectModel.ReadOnlyCollection(Of String) = My.Application.CommandLineArgs
        'traitement à faire ici
        '...
        Dim resultat As ???
        'affichage du résultat
        Console.WriteLine(resultat)
    End Sub

End Module
0
Merci pour ton aide rapide.

Mais j'ai déjà tout ça,
lorsque je teste à partir d'un fenêtre "DOS" je ne récupère pas le 'résultat'

Encore une fois, je souhaite un comportement DOS similaire à IPCONFIG
0
Utilisateur anonyme
20 mars 2013 à 09:51
Je viens de compiler ceci :
Module Module1

    Sub Main()
        Console.WriteLine("Bonjour")
    End Sub

End Module

J'ai démarré cmd.exe et lancé l'exécutable et j'obtiens bien le message "Bonjour".
Qu'appelles-tu 'récupérer' ?
0
Ok trouvé, merci !

Mon erreur était au niveau de la sélection du type de projet où j'avais sélectionné "Application Windows Forms" au lieu de "Application console".

Avec le bon type, cela fonctionne correctement.

Merci encore.
0
Rejoignez-nous