Artículo
· 2 mayo, 2024 Lectura de 2 min

Qué hacer con el error 5369: la clase está siendo compilada actualmente por proceso

Preguntas frecuentes de InterSystems

Este error ocurre cuando una instancia de la clase ya está abierta en el momento de la compilación.

Hay dos formas de abordar este problema:

  1. Terminar el proceso o aplicación que tiene la instancia abierta
  2. Opciones de compilación en el menú de compilación de Studio: marque el indicador de compilación "Compilar clases en uso" y compile.

Si desea determinar qué proceso está utilizando la clase, pruebe la rutina de ejemplo siguiente.

 

/// Test.mac
search(classname) public {
    Set pid=""
    Set pid=$order(^$Job(pid))
    While pid'="" {
        Do checkVars(pid,classname)
        Set pid=$Order(^$Job(pid))
    }
} checkVars(pid,string) {
    Set $ztrap="err"
    Set var="" 
    For {
        Set var=$zu(88,1,pid,var) q:var=""  
        Set val=$zu(88,2,pid,var)
        If val[string {
            Write !,pid,":",var," = ",val,!
        }
    }
    Quit err
    Set $ztrap=""
    Quit
}

Esta rutina de muestra busca las variables locales en los procesos del usuario para ver si usan la clase especificada.

≪Ejemplo de ejecución≫

USER>do search^Test("Test.Person")
 
2352:p1 = 1@Test.Person
6324:p2 = 2@Test.Person

*En este caso, los procesos con Pid=2352 y Pid=6324 están usando Test.Person.

Comentarios (0)1
Inicie sesión o regístrese para continuar