Gast
#3245233
ist das möglich?
|
Anzeige
|
Daten von Formanwendung an Konsolenanweisung schicken PROCESS
Gast
#3245233
ist das möglich?
Gast
#3245237
Ich möchte eine Variable übergeben Formsanwendung an Konsolenanwenung
Gast
#3245251
Lars schrieb: > ist das möglich? warum nicht, jedes Consolen programm hat doch einen input, output und error stream. Dort kann man daten reinscheiben bzw. auslesen.
Gast
#3245399
ich möchte die Varibale int i = 122 von der Formsanwendung an die Konsolenanwendung übergeben. Input(i); So geht es aber nicht glaube ich!
Gast
#3245417
Lars schrieb: > ich möchte die Varibale int i = 122 von der Formsanwendung an die > Konsolenanwendung übergeben. so wird dann bestimmt nichts. Das Konsolenprogramm muss schon die Varible per input einlesen oder als Parameter übergeben bekommen. Aber mit den wenigen Infos kann hier niemand weiter helfen.
Gast
#3245428
hier ist die EXe die ich ausführen will. Nun sollte da noch die in der Formsanwendung global definierte Variable Variable i an die Konsolenanwendung jpegtoswf übergeben werden.
Gast
#3245430
Lars schrieb: > Nun sollte da noch die in der Formsanwendung global definierte Variable > Variable i an die Konsolenanwendung jpegtoswf übergeben werden. man kann keine Variabel übergeben, nur daten. programm.exe i=5 dann musst du es nur noch in deinen konsolenprogram über ARG einlesen.
Gast
#3245442
int argument = args[i]; so dann oder
Gast
#3245444
Lars schrieb: > int argument = args[i]; > > so dann oder so bestimmt nicht. Argumente sind erstmal Strings.
Gast
#3245464
OK dann so string argument = args[i]; Und als Output des Konsolenprogramms die Varibale i nach dem Process?
Gast
#3245786
Hier bekomme ich den Fehler das Null erhalten sein soll! Kann mir jemand sagen was in der Zeile nicht stimmt?
Gast
#3245788
Lars schrieb: > Kann mir jemand sagen was in der Zeile nicht stimmt? zähle doch einfach die die {} und die anzahl der Parameter.
Gast
#3246068
Peter II schrieb: > warum nicht, jedes Consolen programm hat doch einen input, output und > error stream. Dort kann man daten reinscheiben bzw. auslesen. Das geht immer, aber ein Konsolenprogramm unter Windows kann doch auch die Win32-API nutzen und damit alles was es so an Interprozess-Kommunikation gibt, Pipes, memory mapped files und und und.... Unter Linux sicher auch. Gruss Reinhard @Lars: Es gibt zillionen Möglichkeiten, das zu tun. Alles in allem fällt das unter IPC, was du gerne als Suchbegriff verwenden kannst, um mehr zu erfahren. Gibt's bestimmt auch eine Menge Beispiele für Windows in der Sprache deiner Wahl zu. Wenn es wirklich nur um einen einzelnen Wert geht, ist die Übergage per Aufrufparameter sicherlich die Sinnvollste. Zurückgeben kannst du dann am einfachsten im stdout der Konsolenanwendung. IIRC kannst du CreateProcess() Pipes für die Standard-Streams des neuen Prozesses übergeben, um mit diesem zu kommunizieren. Eventuell ist es sinnvoll, dafür zu sorgen, dass die Konsolenanwendung kein Fenster erzeugt. Das ist immer so hässlich unter Windows, wenn unvermittelt irgendwelche leeren (weil Inhalt per Pipes bearbeitet wird) Konsolen-Fenster aufpoppen. Die $USER dann evtl. auch noch schließen und so zu blöden Fehlern führen kann. Reinhard Kern schrieb: > Unter Linux sicher auch. Klar. int i = 122; if (!fork()) { /* Nur noch die Standard-Streams verwenden. */ } i behält übers Forken seinen Wert :D *) Nein, das alleine bringt nichts, da fehlt mindestens ein wait() und überhaupt ist das so Käse.
Gast
#3246593
In Befehlszeilenargumente schreiben ich dann die Variablennamen rein und weise die dann im Quellcode den Variablen die Argumente zu Ist das so richtig?
Gast
#3246602
Fehler Die Eingabezeichenfolge hat das falsche Format.
Wo ist denn da der Formatfehler?
Gast
#3246627
Lars schrieb: > Fehler > > Die Eingabezeichenfolge hat das falsche Format. string mengeanBildern = > args[2]; > int i = Convert.ToInt32(mengeanBildern); > > Wo ist denn da der Formatfehler? kannst du überhaupt etwas von alleine? Woher sollen wir denn wissen was in den string mengeanBildern drin steht? scheinbar ja wohl keine Zahl. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|