Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Como te avisé, desde el 1 de febrero de 2019

No se podrán escribir nuevos mensajes ni editar los existentes

En breve solo se mostrarán los mensajes con respuestas.
Posiblemente para el 1 de marzo, solamente se mostrarán los que tengan respuestas y estén marcados como respuesta válida.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57766 - Problema control otro formulario desde proceso asincrono
IDAsuntoFechaNick 
57766 Problema control otro formulario desde proceso asincrono21/10/14 18:18jjthetower   
Buenos días a todos,

Estoy realizando una aplicación de Visual basic .net con un proceso asíncrono con el complemento BackgroundWorker. El problema es cuando el proceso asíncrono llama a otro proceso que esta en otro código distinto al del formulario y este cambia algún control o activeX del formulario. Al suceder esto se produce un error de InvalidOperationException.

El error es: Error al crear el formulario. Consulte Exception.InnerException para obtener mas detalles. Error:No se puede crear una instancia del control ActiveX '7879879-33232-332-333' porque el subproceso actual no está en un apartamento de un solo proceso.

No se como se adjuntan imágenes sino os enseñaría una imagen con el error.

A ver que me recomendáis

Saludos.
IDAsuntoFechaNick 
57767 Re: Problema control otro formulario desde proceso asincrono (Resp: 57766)22/10/14 13:48Pipe[hgjfkdls]   
Buen día,

Te comento que para realizar cambios en controles es necesario realizarlo desde el hilo principal de la aplicación.

¿Cómo?, pues de la clase principal “Control”, de la cual se derivan los controles de .NET, se hereda un método llamado “BeginInvoke” al cual pasamos un delegado el cual se ejecuta de forma asincrónica en el subproceso donde identificador subyacente del control donde se creó.

En términos simples, el delegado pasado al método se ejecuta en el hilo principal (siempre y cuando el control se haya creado en aquel hilo).

Saludos,

Pipe [hgjfkdls]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57769 Re: Problema control otro formulario desde proceso asincrono (Resp: 57767)27/10/14 18:21jjthetower   
Muchas gracias Pipe,
Finalmente decidí poner el procedimiento ejecutado por el Backgroundworker en el formulario en el que se había creado el control y todo solucionado. Eso si, me hubiera gustado poder haberlo puesto en un archivo de código independiente para tenerlo todo mas organizado. En fin...

Muchas gracias.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2024  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 21/11/2024 09:53:07 GMT