FileOpenDialog und Expetion im Debugger



  • Hallo,

    ich habe nen fileOpenDialog eingebunden. Wenn ich das Programm im Debugger starte kommt es zu einer Exeption wenn ich auf Datei öffnen klicke:

    Eine nicht behandelte Ausnahme des Typs "System.Threading.ThreadStateException" ist in System.Windows.Forms.dll aufgetreten.

    Zusätzliche Informationen: Für den aktuellen Thread muss der STA-Modus (Single Thread Apartment) festgelegt werden, bevor OLE-Aufrufe ausgeführt werden können. Stellen Sie sicher, dass die Hauptfunktion mit STAThreadAttribute gekennzeichnet ist. Diese Ausnahme wird nur ausgelöst, wenn ein Debugger mit dem Prozess verbunden ist.

    Wenn ich das Projekt ohne Debugger starte geht es ohne Probleme. Die Hauptfunktion ist mit [STAThreadAttribute] gekennzeichnet.

    Es muss bestimmt irgendwo eine Einstellung geändert werden, oder?

    gruß Entilzah



  • oh! [STAThreadAttribute] sollte auch an der richtigen stelle stehen 😃

    geht jetzt 🙂

    entilzah



  • Die "Main" Funktion (oder Thread-Entry-Funktion) muss so markiert sein!



  • Jochen Kalmbach schrieb:

    Die "Main" Funktion (oder Thread-Entry-Funktion) muss so markiert sein!

    jo ThX! hatte das dummerweise ganz oben stehen und die main stand natürlich unten 😉



  • Moin Leute,
    ich habe das selbe Problem wie entilzah und bekomme diese Meldung beim openFileDialog1, wenn ich dieses Programm übersetzt habe und auf den Button klicke ...

    [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
    	Application::Run(gcnew Form1());
    
    	return 0;
    }
    
    	System::Void Form1::button1_Click(System::Object^  sender, System::EventArgs^  e) 
    			{
    				openFileDialog1->ShowDialog();
    			}
    

    Leider verstehe ich nicht ganz was entilzah und Jochen Kalmbach meinen 😕
    [STAThreadAttribute] steht doch vor der Main Funktion.
    Gruß Saul



  • Saul schrieb:

    Moin Leute,
    ich habe das selbe Problem wie entilzah und bekomme diese Meldung beim openFileDialog1, wenn ich dieses Programm übersetzen möchte ...

    Diese Meldung kannst du nicht bekommen wenn du das Programm übersetzen möchtest.

    @Saul: Hast du denn eigentlich noch andere Threads am laufen?



  • Ah ja richtig ^^ habs mal abgeändert. Danke für den Hinweis.

    Ähm joar bin zur zeit öfter hier im Forum unterwegs.
    Bin fleißig am lesen, programmieren und lernen und ab und zu taucht dann mal ein Problem auf ...
    Gruß Saul


Anmelden zum Antworten