Argumente beim Programmstart auslesen?



  • Hallo,

    ich hab ein Programm welches beim start je nach StartArgument eine andere Form laden soll, jedoch stelle ich es irgendwie falsch an, denn mein Programm beendet sich sofort, nachdem es gestartet wurde:

    #include "stdafx.h"
    #include "Form1.h"
    
    using namespace Changer;
    
    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    	// Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
    	Application::EnableVisualStyles();
    	Application::SetCompatibleTextRenderingDefault(false); 
    
    	//Argumente auslesen und übergeben
    	int argc = sizeof(args) / sizeof(args[0]);
    	for(int i=1; i < argc; i++) {
    		if(args[i] == "-change") {
    			Application::Run(gcnew Form1());
    			return 0;
    		}
    		else {
    			Application::Run(gcnew Form1());
    			return 0;
    		}
    	}
    
    }
    

    Ich hab nun in zweimal die Form1 drin, damit da ich sichergehen wollte das es funktioniert, dem ist aber nicht so. Was mache ich falsch?

    -danke GobiTodic



  • Hi

    Bei mir funktioniert das so

    #include "stdafx.h"
    #include "Form1.h"
    #include "testFenster.h"
    
    using namespace test;
    
    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    	// Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
    	Application::EnableVisualStyles();
    	Application::SetCompatibleTextRenderingDefault(false); 
    
    	// Hauptfenster erstellen und ausführen
    	if (args->Length > 0){
    		if (args[0] == "-test")
    			Application::Run(gcnew testFenster());
    	}
    	else
    		Application::Run(gcnew Form1());
    
    	return 0;
    }
    


  • thx. klappt ^^


Anmelden zum Antworten