OVH Cloud OVH Cloud

Passage des arguments

2 réponses
Avatar
pg
Bonjour,

Je dois faire un exe en mode commande qui au final crée un fichier texte.
Je veux pouvoir passer en argument le chemin du fichier final. Pour cela
j'ai déclaré ma fonction main ainsi :
Sub Main(Optional ByVal CmdArgs As String = "c:\locinf.txt")

Lorsque je compile j'ai le msg d'erreur suivant :
Aucune méthode 'Main' accessible avec une signature appropriée n'a été
trouvée dans '<nom>'

L'aide de Studio.net n'étant pas très explicite, je compte sur vous !

Merci d'avance

2 réponses

Avatar
Vko
Le prototype de la fonction Main est fixe, c'est a dire que tu ne peux pas le
modifier a ta guise.

Tu as le choix entres :
Sub Main()
Sub Main(ByVal CmdArgs() As String)
Function Main() As Integer
Function Main(ByVal CmdArgs() As String) As Integer

Pour ton problème la syntaxe suivante devrait convenir :

Sub Main(ByVal CmdArgs() As String)
Dim fileName = "c:locinf.txt"
If CmdArgs.Length = 1 Then
fileName = CmdArgs(0)
End If
End Sub



"pg" wrote:

Bonjour,

Je dois faire un exe en mode commande qui au final crée un fichier texte.
Je veux pouvoir passer en argument le chemin du fichier final. Pour cela
j'ai déclaré ma fonction main ainsi :
Sub Main(Optional ByVal CmdArgs As String = "c:locinf.txt")

Lorsque je compile j'ai le msg d'erreur suivant :
Aucune méthode 'Main' accessible avec une signature appropriée n'a été
trouvée dans '<nom>'

L'aide de Studio.net n'étant pas très explicite, je compte sur vous !

Merci d'avance


Avatar
pg
Ok merci pour ton aide. celà fonctionne bien

"Vko" wrote:

Le prototype de la fonction Main est fixe, c'est a dire que tu ne peux pas le
modifier a ta guise.

Tu as le choix entres :
Sub Main()
Sub Main(ByVal CmdArgs() As String)
Function Main() As Integer
Function Main(ByVal CmdArgs() As String) As Integer

Pour ton problème la syntaxe suivante devrait convenir :

Sub Main(ByVal CmdArgs() As String)
Dim fileName = "c:locinf.txt"
If CmdArgs.Length = 1 Then
fileName = CmdArgs(0)
End If
End Sub



"pg" wrote:

> Bonjour,
>
> Je dois faire un exe en mode commande qui au final crée un fichier texte.
> Je veux pouvoir passer en argument le chemin du fichier final. Pour cela
> j'ai déclaré ma fonction main ainsi :
> Sub Main(Optional ByVal CmdArgs As String = "c:locinf.txt")
>
> Lorsque je compile j'ai le msg d'erreur suivant :
> Aucune méthode 'Main' accessible avec une signature appropriée n'a été
> trouvée dans '<nom>'
>
> L'aide de Studio.net n'étant pas très explicite, je compte sur vous !
>
> Merci d'avance