ThreadStateException was unhandled
-
Hallo,
ich habe mir einen Leveleditor gebastelt via WinForms und XNA, klappt ganz gut. Jetzt würde ich aber gerne via FileDialog eine Datei zum speichern auswählen können nur leider bekomme ich beim Aufruf vom SaveFileDialog immer diese exception und kann damit nicht viel anfangen.
ThreadStateException was unhandled:
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.mein Codeausschnitt:
MapEditor.cs:
DialogResult saveResult = saveFileDialogMap.ShowDialog(); if (saveResult == System.Windows.Forms.DialogResult.OK) { string test = saveFileDialogMap.FileName; }
Programm.cs:
namespace Map_Editor { #if WINDOWS || XBOX static class Program { public static Game1 game; /// <summary> /// Der Haupteinstiegspunkt für die Anwendung. /// </summary> static void Main(string[] args) { MapEditor form = new MapEditor(); form.Show(); form.game = new Game1( form.pctSurface.Handle, form, form.pctSurface, form ); form.game.Run(); } } #endif }
Bekomme ich diese exception nur weil noch eine XNA Routine läuft?
Vielen Dank.
Gruß
-
Vermutlich benutzt XNA irgendwo COM
STA ist nötig.
http://msdn.microsoft.com/en-us/library/system.stathreadattribute.aspx
-
ok habe es...
einfach in der Programm.cs diese Änderung machen:
[STAThread] static void Main(string[] args) {