Mensajes de error

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 2003 (Modificado)


Esta sección describe los diferentes mensajes generados por el compilador. Estos mensajes son de diferentes tipos:

advertencias, que ayudan a evitar trampas comunes;

errores, que usted debe corregir;

mensajes de control de ejecución, generados dentro de 4D.

Advertencias


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)
   SELECTION TO ARRAY([MiTabla]MiCampo;Puntero->)

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
->) no genera esta advertencia. El valor de la dimensión de un array no tienen ninguna influencia sobre su tipo. En este ejemplo, el array al que hace referencia el puntero debe haber sido definido en otra parte.

Uso de puntero(s) como parámetro(s) de DISTINCT VALUES

   DISTINCT VALUES(Puntero->;Array)

No se recomienda utilizar 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.

Él puntero utilizado en este método debe referirse a un alfanumérico.

   Puntero->[[2]]:="a"

Él puntero utilizado en este método debe referirse a un entero, un entero largo o un real.

   Cadena[[Puntero->]]:="a"

Un índice de array debe ser un entero, un entero largo o un real.

   ALERT(MiArray{Puntero->})

Falta un parámetro en la llamada al comando del plug-in.

   WR SET FONT(Area)

Errores


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.

Los mensajes se clasifican por temas: Declaración, Sintaxis, Parámetros, Operadores, Comandos de plug-ins y errores generales.

Declaración

El tipo de la variable no es compatible con el operador. No es posible hacer una instrucción con estos tipos.

   MiReal:=12.3
   MiBoolean:=True
   MiReal:=MiBooleano

Cambiando la longitud máxima de una cadena de caracteres.

   C_STRING(3;MiCadena)
   C_STRING(5;MiCadena)

Cambiando el número de dimensiones de un array.

   ARRAY TEXT(MiArray;5;5)
   ARRAY TEXT(MiArray;5)

Conflicto de tipo sobre la variable MiArray en el formulario.

   ARRAY INTEGER(MiArray)

Declarando un array sin dimensiones.

   ARRAY INTEGER(MiArray)

Falta una variable

   COPY ARRAY(MiArray;"")

Falta una constante.

   C_STRING(Variable;MiCadena)

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 : Alfanumérico

   OK:="El clima es agradable"

El método M1 es desconocido.

La línea contiene una llamada a un método que no existe o no existe más.

Incorrecto uso de un campo.

   MiFecha:=Add to date(CampoBooleano;1;1;1)

La longitud de una cadena no puede ser superior a 255 caracteress.

   C_STRING(325;MiCadena)

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"
   $($i):=5

El índice del array no es numérico.

   EntArray{"3"}:=4

No se puede efectuar una asignación con estos tipos

   C_TEXT(Variable)
   COPY ARRAY(TextoArray;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 dereferenciar 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.

No se puede efectuar una asignación con estos tipos

   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

Intentando dereferenciar una variable que no es de tipo puntero.

   Variable:=Num("El clima es agradable")->

No es posible desreferenciar esta función.

Error de sintaxis.

   If(Booleano)
   End for

Demasiados corchetes de apertura ({) .

La línea contiene más corchetes de apertura que de cierre.

Demasiados corchetes de cierre (})..

La línea contiene más corchetes de cierre que de apertura.

Falta un paréntesis de cierre ).

La línea contiene más paréntesis de apertura que de cierre.

Falta un paréntesis de apertura (.

La línea contiene más paréntesis de cierre que 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:

Demasiados caracteres de aperturapara los índices de la cadena.

   MiCadena[[3:="a"

Demasiados caracteres de cierre para los índices de la cadena.

   MiCadena3]]:="a"

Windows:

Demasiados caracteres de aperturapara 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.

Divida su instrucción en varias instrucciones más cortas.

El método es muy complejo.

Demasiadas estructuras Case of...End case y/o If…End if.

Campo desconocido.

Su método, probablemente copiado de otra base, contiene ??? en lugar de un nombre de campo.

Tabla desconocida.

Su método, posiblemente copiado de otra base, contiene ??? en lugar de un nombre de tabla.

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ámetros

El 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)
   $0:=False

El resultado de esta función no es compatible con la expresión.

   C_INTEGER(${3})
   For($i;3;5)
      ${$i}:=String($i)
   End for

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.

   ReInit(MiArray)

Para pasar un array a un método, necesita para un puntero al array.

Operadores

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.

Para compilar su base, todos los métodos de proyecto deben tener nombres diferentes.

Error interno # xx.

Si aparece este mensaje, llame al Soporte técnico de 4D e informe el número del error.

La variable Variable no pudo ser declarada. Esta variable se utiliza en el método M1.

El tipo de la variable no puede ser determinado. Es necesaria una directiva de compilación.

El método original está dañado.

El método está dañado en la estructura original. Bórrelo o reemplácelo.

Comando 4D desconocido.

El método está dañado.

Redeclaración de la variable Variable en el formulario Formulario.

Este mensaje aparece si usted da, por ejemplo, el nombre OK a una variable de tipo gráfico en un formulario.

El nombre de la función es también el nombre de una variable en el formulario.

Renombre la función o la variable.

Un método y una variable tienen el mismo nombre : Nombre.

Renombre el método o la variable.

Un comando de plug-in y una variable tienen el mismo nombre: Nombre.

Renombre el comando de plug-in comando o la variable.

Mensajes de control de ejecución


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.

Si MiArray es un array de 5 elementos, este mensaje aparece si usted trata de acceder al elemento 17 en el array.

División por cero.

   Var1:=0
   Var2:=2
   Var3:=Var2 / Var1

Acceso a un parámetro que no existe.

Utilización de la variable local $4 cuando sólo tres parámetros han sido pasados al método actual.

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)
   C_STRING(MiCadena2;10)
   MiCadena2:="Flores"
   MiCadena1:= MiCadena2

La referencia del carácter no es válida.

   i:=-30
MiCadena[[i]]:= MiCadena2 o MiCadena[[i]]:=MiCadena2

El parámetro es una cadena vacía.

   MiCadena[[1]]:= ""
   MiCadena[[1]]:= ""

Módulo por cero.

   Var1:=0
   Var2:=2
   Var3:=Var2 % Var1

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")
   MiPuntero:= "MiCadena"

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->]] 
   Caracter:=CadenaVar[[Puntero]]

si Puntero no apunta a un número.

Ver también

Consejos de optimización , Detalles de sintaxis, Guía de declaración, Utilización de directivas de compilación.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente