versión 6.0
SET RESOURCE PROPERTIES (resTipo; resNum; resAttr{; resArchivo})
Parámetro | Tipo | Descripción | |
resTipo | Alfa | Tipo de recurso (4 caracteres) | |
resNum | Numérico | Número de referencia del recurso | |
resAttr | Numérico | Nuevos atributos del recurso | |
resArchivo | DocRef | Número de referencia del archivo de recursos o | |
Archivo de recursos actual, si se omite |
Descripción
El comando SET RESOURCE PROPERTIES cambia los atributos del recurso cuyo tipo se pasa en el parámetro resTipo y cuyo número se pasa en resNum.
Si pasa un número de referencia de archivo de recursos válido en el parámetro opcional resArchivo, el recurso se busca en ese archivo únicamente. Si no pasa resArchivo, el recurso se busca en los archivos de recursos abiertos.
Si el recurso no existe, SET RESOURCE PROPERTIES no hace nada y la variable OK toma el valor 0 (cero).
El valor numérico que se pasa en resAttr debe ser considerado como un valor binario donde cada bit tiene un significado particular. Las siguientes constantes predefinidas son proporcionadas por 4D:
Constante Tipo Valor
System heap resource mask | Entero largo | 64 |
System heap resource bit | Entero largo | 6 |
Purgeable resource mask | Entero largo | 32 |
Purgeable resource bit | Entero largo | 5 |
Locked resource mask | Entero largo | 16 |
Locked resource bit | Entero largo | 4 |
Protected resource mask | Entero largo | 8 |
Protected resource bit | Entero largo | 3 |
Preloaded resource mask | Entero largo | 4 |
Preloaded resource bit | Entero largo | 2 |
Changed resource mask | Entero largo | 2 |
Changed resource bit | Entero largo | 1 |
Utilizando estas constantes, puede definir el valor de los atributos de los recursos. Ver los ejemplos a continuación.
Los atributos de recursos y sus efectos
Memoria del sistema heap
Si utiliza este atributo, el recurso será cargado en la memoria del sistema en lugar de en la memoria de 4D. No debe utilizar este atributo, a menos que realmente sepa lo que está haciendo.
Purgable
Si utiliza este atributo, después de cargar el recurso, puede purgarlo de la memoria si es necesario más espacio para ubicar otros datos. Como usted carga los recursos en los BLOB 4D, recomendamos tener todos sus recursos purgables para reducir el uso de memoria. Sin embargo, si accede con frecuencia a este recurso durante una sesión de trabajo, usted podría querer volverlo no purgable para reducir el acceso al disco debido a la carga frecuente de un recurso purgado.
Bloqueado
Si se utiliza este atributo, el recurso no puede ser reubicado después de cargarse en memoria. Un recurso bloqueado no puede ser purgado incluso si es purgable. El bloqueo de un recurso tiene el efecto indeseable de fragmentar la memoria. NO utilice este atributo, a menos que sepa exactamente lo que está haciendo.
Protegido
Si este atributo está definido, no puede modificar el nombre, número de identificación o el contenido del recurso. Tampoco es posible borrar este recurso. Sin embargo, puede llamar SET RESOURCE PROPERTIES para borrar este atributo; luego puede modificar o borrar el recurso. La mayor parte del tiempo, no utilizará este atributo.
Nota: Este atributo no tiene efecto en Windows.
Precargado
Si se utiliza este atributo, el recurso se carga automáticamente en memoria y el archivo en el cual está ubicado se abre. Este atributo es útil para la optimización de la carga de recursos durante la apertura de un archivo de recursos. La mayoría del tiempo, no utilizará este atributo.
Modificado
Si este atributo se utiliza, el recurso se marca como "debe ser guardado en disco" cuando el archivo de recursos donde se encuentra se cierra. Como el comando 4D SET RESOURCE se encarga de la escritura y reescritura de los recursos internamente, no debe utilizar este atributo, a menos que realmente sepa lo que está haciendo.
Por lo general no utilizará el atributo purgable y, con menos frecuencia aún, Precargado y Protegido.
Advertencia: NO cambie los atributos de recursos que pertenecen a 4D o a los archivos del sistema. Si lo hace, podría provocar errores en el sistema.
Ejemplos
1. Ver el ejemplo del comando Get resource name.
2. El siguiente ejemplo vuelve el recurso 'STR#' ID=17000 purgable, pero no cambia los otros atributos:
$vlResAttr:=Get resource properties ('STR#';17000;$vhResArchivo) SET RESOURCE PROPERTIES('STR#';17000;$vlResAttr ?+ Purgeable resource bit;$vhResArchivo)
3. El siguiente ejemplo vuelve el recurso 'STR#' ID=17000 precargado y no purgable:
SET RESOURCE PROPERTIES('STR#';17000;Preloaded resource mask;$vhResArchivo)
4. El siguiente ejemplo vuelve el recurso 'STR#' ID=17000 precargado pero purgable:
SET RESOURCE PROPERTIES('STR#';17000;Preloaded resource mask+Purgeable resource mask;$vhResArchivo)
Ver también
Variables y conjuntos sistema
Si el recurso no existe, la variable sistema OK toma el valor 0, de lo contrario toma el valor 1.