Microstation - MDL Archivo Activo de Solo Lectura

 
Vista:

MDL Archivo Activo de Solo Lectura

Publicado por Carlos (29 intervenciones) el 13/02/2002 11:34:15
A ver, necesito encontrar la función de MDL o la variable de la tcb que me informe que el archivo activo está siendo utilizado por
otra persona , es decir que se ha abierto como solo lectura.
Con Microstation Basic es muy facil pero con el puñetero MDL no lo encuentro.
Gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Detectar archivo abierto como solo lectura en MDL

Publicado por Alejandro (129 intervenciones) el 22/12/2023 22:47:50
Lamentablemente, no existe una función MDL específica que te permita detectar directamente si un archivo está siendo utilizado por otra persona o si se ha abierto como solo lectura. Sin embargo, puedes intentar abordar este problema de la siguiente manera:

1. Verificar el modo de apertura:
- Puedes utilizar la función mdlFile_getOpenMode para obtener información sobre el modo en que se abrió el archivo. Si el archivo se abrió en modo de solo lectura, es posible que esté siendo utilizado por otra persona.

2. Intentar abrir en modo de escritura:
- Usa mdlFile_open con la opción WRITE para intentar abrir el archivo en modo de escritura. Si el archivo está siendo utilizado por otra persona en modo de solo lectura, esta operación fallará.

Aquí tienes un ejemplo básico en pseudocódigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (mdlFile_getOpenMode(fileName) == MDLFILE_OPENMODE_READONLY)
{
    // El archivo está abierto en modo solo lectura
    // Intenta abrirlo en modo de escritura
    if (mdlFile_open(fileName, MDLFILE_OPENMODE_WRITE) == SUCCESS)
    {
        // Puedes escribir en el archivo
        mdlFile_close(fileName);
    }
    else
    {
        // No se pudo abrir en modo de escritura, está siendo utilizado por otra persona
    }
}

Recuerda que esta es una aproximación y puede no ser completamente precisa en todos los casos. La detección de si un archivo está siendo utilizado por otra persona generalmente se maneja a nivel del sistema operativo y no siempre es accesible directamente desde MicroStation MDL.

Espero que esto te sea de ayuda, Carlos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar