salut!
j'ai créer une application! je voudrais savoir comment connaitre les composants dont celle ci a besoin pour tourner,(et ou dois les copier) sur une machine ou le dotnet n'est pas installé! afin de les joindre avec l'exe.Petite précision je developpe avec Visual C# sharp express.
Process
.Start(psi);
Ca devrait fonctionner.
N'oublie pas, dans ton programme appelé, de verifier que args[] n'est pas null, et aussi sa propriété Length.
Il n'y as donc aucun moyen de connaitre les composants dont mon appli à besoin pour fonctionner (Style VB6) je suis obliger d'installer la totalité Framework .Net 2.0???????????
Ton appli a besoin du framework pour tourner !
C'est comme pour le java, où il faut installer le JRE.
Ce n'est pas un énorme probleme hein ;) Ca pèse pas bien lourd, et c'est très utile de l'avoir (le framework .Net, pas le JRE^^ ).
je sais trés bien c juste pour info perso,sinon autre question comment puis je faire appel a un prog en passant un tableau de string[]en parametre la fonction process start n'accepte pas string[]en parametre poutant static void main accepte String[] en parametre
Il faut decomposer ton string[].
Quand tu tapes sous dos une commande qui prend plusieurs arguments en parametres, tu les lui mets a la suite.
Ici, c'est le meme procédé ;)
si j'ai bien compris je dois faire de mon string[] un string et me débrouillé par la suite avec OK j'ai compris !!!
Mais question bete peut etre pourquoi la fonction Void main accepte string[] en parametre?!!!!!!!!!!!!!
Si tu appeles "monProg arg1 arg2 arg3", tu as bien 3 strings en argument. Ensuite, tu n'as pas a t'occuper de comment ca marche, pour ton prog tu auras un tableau de string en entrée.
Peut-etre regarder du coté du code IL mais je pense pas qu'on y trouve qqchose de très révélateur.
l'erreur persiste System.indexOutRangeException dans le prog appelé,
apparament args[] serait null pourtant j'ai bien renseigner le processstartinfo dans le prog appelant
Tu es bien sûr que tu récupères la bonne instance de ton programme?
J'ai l'impression que tu fais un split sur le args alors que le programme a été démarré sans argument.