GetArg?
-
Hallo,
wie kann man denn die funktion System::Runtime::Remoting::Messaging::ReturnMessage::GetArg verwenden? Habe nirgends ein Beispiel gefunden, denn ich will die Argumente, die an meine Anwendung übergeben wurden, auslesen.
// Argumente int main(array<System::String ^> ^args)
Bei msdn finde ich nur
Object^ GetArg ( int argNum )
und das wars.
Würde mich über ein kleines Beispiel freuen.
-
Ich verstehe den Zusammenhang zwischen "Remoting" und Kommandozeilen-Argumenten nicht? Was willst Du genau machen?
-
Na am Anfang der Anwendung werden doch, z.B. wenn man eine Datei öffnet, Argumente übergeben. Diese werden in dem array args bei int main gespeichert. Und wie kann man den auslesen?
String^ file = args[0] // Funktioniert nicht
bei mir kommt die Ausnahme, das der Wertebereich des Arrays überschritten wurde. Obwohl ich ihn mit sizefo gezählt habe (array hatt eigendlich 4 elemente).
Desshalb habe ihc bei msdn nach ner funktion gesucht, die mir das gewünschte argument liefern soll und da habe ich die, in meinem ersten Beitrag, gefunden.
Vielleicht ist das auch zu umständlich, ich muss bloß den array am Anfang bei main auslesen können.
-
Dauercoder schrieb:
Na am Anfang der Anwendung werden doch, z.B. wenn man eine Datei öffnet, Argumente übergeben. Diese werden in dem array args bei int main gespeichert. Und wie kann man den auslesen?
String^ file = args[0] // Funktioniert nicht
Das sollte schon richtig sein!
Dauercoder schrieb:
bei mir kommt die Ausnahme, das der Wertebereich des Arrays überschritten wurde.
Dann wird es auch wohl so sein.
Dauercoder schrieb:
Obwohl ich ihn mit sizefo gezählt habe (array hatt eigendlich 4 elemente).
sizeof hat doch gar nichts mit dem Inhalt eines Arrays zu tun! Verwende bitte:
args->Length
-
Achso, vertsehe, erst wenn der Anwendung Argumente übergeben werden, steigt das array. Lengh hatte ich auch probiert, hat mit 0 ausgegeben, deshalb war ich verwirrt. also muss ich ggf. prüfen (mit Lengh) ob überhaupt Argumente übergeben wurden. Dann werde ich das mal probieren.
Vielen Dank!