AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de archivos externos
  • La cerradura no era set
  • Bloqueo de un archivo
  • Posición en el fichero
  • Modo de funcionamiento en Windows Vista (y posterior)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Bloquea total o parcialmente un archivo externo.. El archivo se desbloqueará:
  • utilizando la función fUnlock,
  • cuando se cierra el expediente.
La aplicación que ha bloqueado el fichero puede leerlo y escribir en él.. Las otras aplicaciones no pueden leer este fichero ni escribir en él.
// Open an external file
FileID is int
ResLock is boolean
FileID = fOpen("C:\MyDirectories\File.txt", foReadWrite)
IF FileID <> -1 THEN
...
// Lock the external file
ResLock = fLock(FileID)
...
END
// Open an external file
MyTextFile is DiskFile
ResLock is boolean
IF fOpen(MyTextFile, "C:\MyDirectories\File.txt", foReadWrite) = True THEN
...
// Lock the external file
ResLock = fLock(MyTextFile)
...
END
Sintaxis
<Result> = fLock(<File used> [, <First byte to lock> [, <Number of bytes to lock>]])
<Result>: booleano
  • True si se bloqueó el archivo,
  • False en caso contrario.
<File used>: Entero o DiskFile Variable
<First byte to lock>: Entero opcional
Posición del primer byte a bloquear (0 corresponde al primer byte del fichero).
<Number of bytes to lock>: Entero o constante opcional
  • Número de bytes a bloquear en el archivo.
  • Constante:
    fLockEmptyFilefLock tiene el mismo comportamiento tanto si el archivo está vacío como si no (ver Comentarios).
Observaciones

La cerradura no era set

La función fLock devuelve False si no se bloqueó el archivo. La cerradura puede ser set sólo si:
  • se abre el archivo externo,
  • el identificador de archivo es válido,
  • el archivo o los bytes a bloquear no están ya bloqueados por otro ordenador u otra aplicación.

Bloqueo de un archivo

  • El archivo se bloquea por completo si no se especifican y .
  • El archivo se bloquea desde el primer byte a bloquear () hasta el final si no se especifica .
  • Por Default , fLock no bloquea ningún byte si el archivo está vacío. En este caso, varias aplicaciones pueden "bloquear" con éxito un archivo vacío. Sin embargo, el archivo no puede ser sobrescrito mientras esté bloqueado.
Para obtener el mismo comportamiento sin importar si el archivo está vacío o no, use la constante fLockEmptyFile .
Linux El bloqueo es efectivo entre dos sitios o contextos diferentes. A diferencia de Windows, un Process no puede bloquear un archivo que fue bloqueado previamente.

Posición en el fichero

Al abrir un archivo, la posición actual corresponde a:
  • el primer byte del archivo (por Default),
  • al último byte del archivo si se abre en modo "adición" (constante foAdd).
Esta posición puede ser modificada por fSeek.
La posición actual no cambia cuando se usa fLock .
WINDEVWEBDEV - Código ServidorReportes y ConsultasCódigo de Usuario (UMC)

Modo de funcionamiento en Windows Vista (y posterior)

Si esta función no funciona correctamente en Windows Vista (y posterior), compruebe si el archivo o directorio utilizado no está en ninguno de los directorios del sistema (directorio de Windows o directorio "Archivos de programa").
En Windows Vista (y posteriores), con el Mecanismo UAC (Cuenta de usuario control) habilitado, debe tener privilegios de administrador para manipular y/o modificar los archivos o directorios en los directorios del sistema (directorio de Windows o directorio "Archivos de programa").
Consejo de programación: A manipular y/o modificar los archivos o directorios sin privilegios de administrador, debería:
  • evite escribir en el directorio de Windows o en el de "Archivos de programa",
  • utilizar el directorio del sistema de la aplicación (devuelto por SysDir con la constante srAppDataCommun, por ejemplo).
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 18/11/2023

Señalar un error o enviar una sugerencia | Ayuda local