none
Problemas al usar un control OCX en un windows service RRS feed

  • Pregunta

  • Gente buen dia, tengo un problemon al intentar usar un contrl OCX AxSBXPC en un proyecto windows service, es un control apra acceder y manipular un reloj de marcación los EasyClock, pasa que lo tengo en un proyecto windows forms y trabaja perfectamente, pero cuando paso el codigo al proyecto de windows service me sale un error al tratar de utulizar este control

    No encuentro solucion alguna

    AxSBXPCLib.AxSBXPC Easy = new AxSBXPCLib.AxSBXPC();
                Easy.CreateControl();

    ahi creo el control y para que me permita tuve que agregar las referencias de system.windows.forms en el servicio

    pero no da, ayuda por favor, saludos

    lunes, 16 de octubre de 2017 13:01

Respuestas

  • Hola:

    En el enlace que te puse:

    https://social.msdn.microsoft.com/Forums/windows/en-US/2411f889-8e30-4a6d-9e28-8a46e66c0fdb/current-thread-must-be-set-to-single-thread-apartment-sta-mode-before-ole?forum=clr

    mírate los comentarios por si tienes que hacer algo mas, muchos comentan que tuvieron que borrar las DLLs para que funcionara bien, mira si alguna se aplica a tu caso.

    Un saludo

    martes, 17 de octubre de 2017 7:33

Todas las respuestas

  • Hola:

    Sin tener ni idea de como funcionan los Windows Services, el error dice "no está en un apartamento de un solo proceso", y eso tiene pinta de STAThread.

    Mira de aplicar esta solución: https://social.msdn.microsoft.com/Forums/windows/en-US/2411f889-8e30-4a6d-9e28-8a46e66c0fdb/current-thread-must-be-set-to-single-thread-apartment-sta-mode-before-ole?forum=clr

    C#

    [STAThread]

    static void Main(string[] args)

    {

    }

     

    Visual Basic

    <STAThread()> _

    Shared Sub Main(args As String())

     

    End Sub

    Mira de aplicarlo en tu Windows Service.

    Un saludo


    • Editado LG DES lunes, 16 de octubre de 2017 14:47
    lunes, 16 de octubre de 2017 14:47
  • Hola, ya le puse el [STAThread]

     [STAThread]
            static void Main()
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[] 

    new ServiceCAP() 
    };
                ServiceBase.Run(ServicesToRun);
            }

    pero no da :( alguna otra solucion


    lunes, 16 de octubre de 2017 16:27
  • Hola:

    En el enlace que te puse:

    https://social.msdn.microsoft.com/Forums/windows/en-US/2411f889-8e30-4a6d-9e28-8a46e66c0fdb/current-thread-must-be-set-to-single-thread-apartment-sta-mode-before-ole?forum=clr

    mírate los comentarios por si tienes que hacer algo mas, muchos comentan que tuvieron que borrar las DLLs para que funcionara bien, mira si alguna se aplica a tu caso.

    Un saludo

    martes, 17 de octubre de 2017 7:33
  • Hola chicos, tampoco funciono ya me estoy volviendo loco, me parece que es por los hilos, en el q se crea el servicio y el control lo intento crear en una clase, me da normal en el windows forms pero en el servicio nada, creo q va por ahi la cosa pero eso de hilos en los servicios no ubico, ayuda por favor
    miércoles, 18 de octubre de 2017 13:05