Ayuda error al usar folderbrowser Por Favor

21/08/2007 - 20:38 por edcha | Informe spam
El asunto es que ya cree un formulario MDI con diferentes botones y
queria buscar una carpeta para eso en uno de los botones puse el
siguiente codigo:
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();

pero cuando se va a ejecutar el fbd.ShowDialog();
genera el siguiente error y no continua:
Se generó la excepción
System.Threading.ThreadStateException en el programa:
Current thread must be set to single thread apartment
(STA) mode before OLE calls can be made.
Ensure that your Main function has STAThreadAttribute
marked on it.
This exception is only raised if a debugger is attached
to the process.0
podria alguien decirme cual es el problema y como solucionarlo.

Muchas gracias de antemano
 

Leer las respuestas

#1 Juan Carlos Paramá
22/08/2007 - 09:55 | Informe spam
Hola,

Como dice el mensaje te falta el atributo [STAThread] en la función Main
de tu programa. Las llamadas a través de OLE (y FolderBrowserDialog no es
más que un encapsulamiento de determinadas funciones OLE) tienen que
realizarse en un Thread marcado como Single Thread Apartament.

Tu función Main debería ser algo como:

[STAThread]
public static void Main() {



}


Saludos,

Juan Carlos Paramá

"edcha" escribió en el mensaje de noticias
news:
El asunto es que ya cree un formulario MDI con diferentes botones y
queria buscar una carpeta para eso en uno de los botones puse el
siguiente codigo:
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();

pero cuando se va a ejecutar el fbd.ShowDialog();
genera el siguiente error y no continua:
Se generó la excepción
System.Threading.ThreadStateException en el programa:
Current thread must be set to single thread apartment
(STA) mode before OLE calls can be made.
Ensure that your Main function has STAThreadAttribute
marked on it.
This exception is only raised if a debugger is attached
to the process.0
podria alguien decirme cual es el problema y como solucionarlo.

Muchas gracias de antemano

Preguntas similares