4D v13.4RESOLVE POINTER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
RESOLVE POINTER
|
RESOLVE POINTER ( aPointer ; nomVar ; numTabla ; numCamp ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
aPointer | Puntero |
![]() |
Puntero del cual recuperar el objeto referenciado | |||||
nomVar | Cadena |
![]() |
Nombre de la variable referenciada o cadena vacía | |||||
numTabla | Entero largo |
![]() |
Número de la tabla o del elemento del array referenciado o 0 o -1 | |||||
numCamp | Entero largo |
![]() |
Número del campo referenciado o 0 | |||||
El comando RESOLVE POINTER recupera la información del objeto referenciado por la expresión de puntero puntero y la devuelve en los parámetros nomVar, numTabla, y numCamp.
Dependiendo de la naturaleza del objeto referenciado, RESOLVE POINTER devuelve los siguientes valores:
Objeto referenciado | Parámetros | |||
nomVar | numTabla | numCamp | ||
Nada (NIL pointer) | "" (cadena vacía) | 0 | 0 | |
Variable | Nombre de la variable | -1 | 0 | |
Array | Nombre del array | -1 | 0 | |
Elemento de array | Nombre del array | número del elemento | 0 | |
Tabla | "" (cadena vacía) | número de la tabla | 0 | |
Campo | "" (cadena vacía) | número de la tabla | número del campo |
Notas:
• Si el valor que pasa en puntero no es una expresión de tipo puntero, se generará un error de sintaxis.
• El comando RESOLVE POINTER no funciona con punteros a variables locales. De hecho, por definición muchas variables locales con el mismo nombre podrían existir en diferentes lugares, de manera que no es posible para el comando encontrar la variable correcta.
En un formulario, usted crea un grupo de 100 variables editables llamadas v1, v2... v100. Para hacer esto, usted realiza los siguientes pasos:
a. Crea una variable editable que llama v.
b. Define las propiedades del objeto.
c. Asocia el siguiente método al objeto:
HacerAlgo(Self) ` HacerAlgo es un método de proyecto de su base
d. En este punto, puede duplicar la variable tantas veces como sea necesario, o utilizar la funcionalidad Duplicar sobre matriz en el editor de formularios.
e. En el método HacerAlgo, si necesita conocer el índice de la variable para la cual se llama el método, escribe:
Note que construyendo su formulario de esta manera, usted escribe los métodos para las 100 variables sólo una vez; no necesita escribir HacerAlgo (1), HacerAlgo (2)...,HacerAlgo (100).
Por propósitos de depuración, necesita verificar que el segundo parámetro ($2) de un método es un puntero a una tabla. Al comienzo de este método, escribe:
Ver el ejemplo del comando DRAG AND DROP PROPERTIES.
Producto: 4D
Tema: Lenguaje
Número
394
Lista alfabética de los comandos
Creado por: 4D v6
DRAG AND DROP PROPERTIES
Field
Get pointer
Is a variable
Nil
Table