4D v16.3Mensajes de error |
||
|
4D v16.3
Mensajes de error
Mensajes de error
Esta sección describe los diferentes mensajes generados por el compilador. Estos mensajes son de diferentes tipos:
Estos mensajes se generan durante el proceso de compilación. Cada mensaje está acompañado de un ejemplo del problema y cuando es necesario, de una explicación adicional. Uso de puntero(s) como parámetro(s) de COPY ARRAY COPY ARRAY(Puntero->;Array) Uso de puntero(s) como parámetro(s) de SELECTION TO ARRAY SELECTION TO ARRAY(Puntero->;MiArray) Uso de puntero(s) como parámetro(s) de ARRAY TO SELECTION ARRAY TO SELECTION(Puntero->;[MiTabla]MiCampo) Uso de puntero(s) como parámetro(s) de LIST TO ARRAY LIST TO ARRAY(Lista;Puntero->) Uso de puntero(s) como parámetro(s) de ARRAY TO LIST ARRAY TO LIST(Puntero->;Lista) Uso de puntero en una declaración de array ARRAY REAL(Puntero->;5) El comando ARRAY REAL(Array;Puntero->) Uso de puntero(s) como parámetro(s) de DISTINCT VALUES DISTINCT VALUES(Puntero->;Array) Utilización de la función Undefined. If(Undefined(Variable)) La función Undefined siempre devuelve FALSE en una base compilada. Este método está protegido por una contraseña. Un botón con acción automática no tiene nombre en la página X del formulario MiForm. Todos sus botones deben tener nombres para evitar conflictos. Asume que el puntero apunta a una expresión alfanumérica. Pointer->≤2≥:="a" Asume que la cadena index es numérica. String≤Pointer->≥:="a" Asume que el índice del array es de tipo real. ALERT(MyArray{Pointer->}) Falta un parámetro en la llamada al comando del plug-in. WR SET FONT(Area) //%W-número_de_advertencia para desactivar una advertencia //%W+número_de_advertencia para activar una advertencia Estas activaciones y desactivaciones son efectivas para todo el código analizado en el plan de compilación. Si quiere desactivar o activar una advertencia de manera global, inserte la etiqueta apropiada en un método llamado "Compiler_xxx" ya que estos métodos son analizados primero por el compilador. Por ejemplo, para desactivar la advertencia "Puntero en COPY ARRAY", puede insertar la etiqueta "//%W-518.1" en la ubicación deseada. Estos mensajes se generan durante el proceso de compilación. Le corresponde a usted corregir estos errores para que el compilador pueda generar una base compilada. Cada mensaje está acompañado de un ejemplo del problema y cuando es necesario, de una explicación adicional. DeclaraciónEl tipo de la variable no es compatible con el operador. No es posible hacer una instrucción con estos tipos. MyBoolean:=True Cambiando el número de dimensiones de un array. ARRAY TEXT(MiArray;5;5) Conflicto de tipo sobre la variable MiArray en el formulario. ARRAY INTEGER(MiArray) Declarando un array sin dimensiones. ARRAY INTEGER(MiArray) Variable esperada COPY ARRAY(MiArray;"") El tipo de la variable es desconocido. Esta variable se utiliza en el método M1. No se puede determinar el tipo de variable. Es necesaria una directiva de compilación. Tipo de constante incorrecto OK:="El clima es agradable" El método M1 es desconocido. Incorrecto uso de un campo. MiFecha:=Add to date(CampoBooleano;1;1;1) La variable Variable no es un método. Variable(1) La variable Variable no es un array. Variable{5}:=12 El resultado de la función no es compatible con la expresión. Texto:="Número"+Num(i) El tipo de la variable no es compatible con el operador Entero:=MiFecha*Texto No se puede efectuar una asignación con estos tipos. $i:="3" El índice del array no es numérico. EntArray{"3"}:=4 No se puede efectuar una asignación con estos tipos C_TEXT(Variable) No se puede efectuar una asignación con estos tipos Variable:=Num(Variable) No se puede efectuar una asignación con estos tipos Variable:=MiBooleano Cambiando el array EntARRAY de tipo Entero a una variable de tipo Texto ARRAY TEXT(EntArray;12) si EntArray fue declarado en otra parte como un array de enteros. Intentando desreferenciar una variable que no es de tipo puntero. Variable->:=5 si Variable no es de tipo puntero. Redeclaración de la variable Var1 de tipo texto a tipo numérico. Var1:=3.5 Incorrecto uso de un campo. Variable:=[MiTabla]MiCampo [MiTabla]MiCampo es un campo tipo Fecha. Variable es de tipo Numérico. Sintaxis El resultado de la función no es un puntero. Variable:=Num("El clima es agradable")-> No es posible desreferenciar esta función. Error de sintaxis. If(Booleano) Demasiados corchetes de apertura ({) . Demasiados corchetes de cierre (}).. Falta un paréntesis de cierre ). Falta un paréntesis de apertura (. Falta un campo. If(Modified(Variable)) Falta un paréntesis de cierre ). C_INTEGER($ Falta una variable. C_INTEGER([MiTabla]MiCampo) Tipo de constante incorrecto : Alfanumérico C_INTEGER(${"3"}) Falta un punto y coma (;). COPY ARRAY(Array1 Array2) Mac OS
MiCadena≤3:="a" Demasiados caracteres de cierre para los índices de la cadena. MiCadena3≥:="a" Windows Demasiados caracteres de apertura para los índices de la cadena. MiCadena[[3:="a" Demasiados caracteres de cierre para los índices de la cadena. MiCadena 3]]:="a" No se esperaba una subtabla. ARRAY TO SELECTION(Array;Subtabla) El parámetro de una clausula IF debe ser un booleano. If(Puntero) La expresión es muy compleja. El método es muy complejo. Campo desconocido. Tabla desconocida. Puntero a una expresión incorrecta. Puntero:=->Variable+3 Uso incorrecto de índice de cadena. MiReal≤3≥o MiReal[[3]] Utilización incorrecta de la Variable VARIABLE de Tipo Texto como una variable de tipo Real MiCadena≤Variable≥o MiCadena[[Variable]] donde Variable no es una variable numérica. ParámetrosEl resultado de esta función no es compatible con la expresión. MiMetodo(Num(MiCadena)) si MiMetodo espera una expresión de tipo Booleano. Se han pasado demasiados parámetros a este método. DEFAULT TABLE(Tabla;Form) El resultado de esta función no es compatible con la expresión. MiMetodo(3+2) si MiMetodo espera una expresión Booleana. El resultado de esta función no es compatible con la expresión. C_INTEGER($0) El resultado de esta función no es compatible con la expresión. C_INTEGER(${3}) Este comando no requiere ningún parámetro SHOW TOOL BAR(MiVar) Este comando requiere al menos un parámetro. DEFAULT TABLE MiCadena no puede pasarse como parámetro a este método. MiMetodo(MiCadena) si MiMetodo está esperando un parámetro Booleano. El tipo del parámetro $1 es diferente en el llamado y en el método llamado. Calcular("3+2") con la directiva C_INTEGER($1) en Calcular. Uno de los parámetros en COPY ARRAY es una variable. COPY ARRAY(Variable;Array) Redeclaración de la variable $1 de tipo Real a tipo Texto. $1:=String($1) Un array no puede ser un parámetro. El tipo de variable no es compatible con el operador. Bool2:=Bool1+True La suma no puede realizarse sobre campos Booleanos. No se esperaba el operador >. QUERY([MiTabla];[MiTabla]MiCampo=0;>) No se pueden compara dos variables de estos tipos If(Numero=Imagen2) No se puede transformar en negativo este tipo de variable. Boolean:=-False Comandos de plug-ins El comando de plug-in PExt no parece estar definido correctamente. No se pasaron suficientes parámetros a este comando de plug-in. Se pasaron demasiados parámetros a este comando de plug-in. El comando Variable del plug-in no parece estar correctamente definido. Errores generales Dos métodos tienen el mismo nombre : Nombre. Error interno # xx. La variable Variable no pudo ser declarada. Esta variable se utiliza en el método M1. El método original está dañado. Comando 4D desconocido. Redeclaración de la variable Variable en el formulario Formulario. El nombre de la función es también el nombre de una variable en el formulario. Un método y una variable tienen el mismo nombre : Nombre. Un comando de plug-in y una variable tienen el mismo nombre: Nombre. No se puede llamar un comando que no es hilo seguro de un método declarado como hilo seguro.Modifique el método para que sea hilo seguro (no utilizar cualquier comando que no sea hilo seguro) o cambiar la propiedad de declaración del método para iniciar un proceso cooperativo Estos mensajes son generados por 4D durante la ejecución de la base compilada y son visualizados en una ventana de error específica. El resultado está por fuera del rango. División por cero. Var1:=0 Acceso a un parámetro que no existe. El puntero no está correctamente inicializado. MiPuntero->:=5 si MiPuntero no ha sido inicializado aún. La cadena de destino es más pequeña que la fuente. C_STRING(MiCadena1;5) La referencia del carácter no es válida. i:=-30 El parámetro es una cadena vacía. MiCadena[[1]]:="" Módulo por cero. Var1:=0 Parámetros incorrectos en un comando Execute Formula. EXECUTE FORMULA("MiMetodo(MiAlfa)") si MiMetodo espera un parámetro diferente de un alfanumérico. Puntero a una variable desconocida. MiPuntero:=Get pointer("Variable") si Variable no aparece explícitamente en la base. Intento de redireccionar utilizando un puntero. Booleano:=Puntero-> si Puntero apunta a un campo de tipo Entero. Mal uso de un puntero o puntero a una variable desconocida. Caracter:=CadenaVar[[Puntero->]] si Puntero no apunta a un número.
Ver también
Consejos de optimización
|
PROPIEDADES
Producto: 4D
HISTORIA
PALABRAS CLAVES warning ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |