Windows Forms und system + Stringkonvertierung



  • Folgendes ich möchte den Inhalt einer TextBox auslesen und danach ein Programm via Kommandozeile + Argumente aufrufen

    Nun bringt mich der Konvertierungswahn zw. verschiedenen char*/String/BasicString etwas durcheinander

    Wie sieht die Richtige lösung aus?
    Hier mal mein code, welcher nicht funktioniert (Laufzeitfehler)

    String^ nstring = "C:\\temp\\MyProg 7 ";
    String^ eingabe;
    eingabe = nstring + textBox1->Text;
    char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(eingabe);
    int result = system(str2);



  • holzer_d schrieb:

    Hier mal mein code, welcher nicht funktioniert (Laufzeitfehler)

    String^ nstring = "C:\\temp\\MyProg 7 ";
    	String^ eingabe;
    	eingabe = nstring + textBox1->Text;
    	char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(eingabe);
    	int result = system(str2);
    

    Nun, deine Fehlerbeschreibung ist sehr minimal ausgefallen. Was besagt denn der Laufzeitfehler?

    Übrigens, wenn du schon mit C++/CLI arbeitest dann schau dir mal die Process-Klasse an. Das direkte arbeiten mit "system()"-Aufrufen solltest du weitesgehend vermeiden.


Log in to reply