Estas mensagens são geradas durante o processo de compilação. Cada mensagem está acompanhada de um exemplo do problema e quando é necessário, de uma explicação adicional.
Uso de ponteiro(s) como parâmetro(s) de COPY ARRAY
COPY ARRAY(Ponteiro->;Array)
Uso de ponteiro(s) como parâmetro(s) de SELECTION TO ARRAY
SELECTION TO ARRAY(Ponteiro->;MinhaArray)
SELECTION TO ARRAY([MinhaTabela]MeuCampo;Ponteiro->)
Uso de ponteiro(s) como parâmetro(s) de ARRAY TO SELECTION
ARRAY TO SELECTION(Ponteiro->;[MnhaTabela]MeuCampo)
Uso de ponteiro(s) como parâmetro(s) de LIST TO ARRAY
LIST TO ARRAY(Lista;Ponteiro->)
Uso de ponteiro(s) como parâmetro(s) de ARRAY TO LIST
ARRAY TO LIST(Ponteiro->;Lista)
Uso de ponteiro em uma declaração de array
ARRAY REAL(Ponteiro->;5)
O comando ARRAY REAL(Array;Ponteiro->) não gera esta advertência. O valor da dimensão de um array não tem nenhuma influência sobre seu tipo. Neste exemplo, o array ao que faz referência o ponteiro deve ter sido definido em outra parte.
Uso de ponteiro(s) como parâmetro(s) de DISTINCT VALUES
DISTINCT VALUES(Ponteiro->;Array)
Não se recomenda utilizar a função Undefined.
If(Undefined(Variable))
A função Undefined sempre retorna FALSE em um banco compilado.
Este método está protegido por uma senha.
Um botão com ação automática não tem nome na página X do formulário MeuForm.
Todos seus botões devem ter nomes para evitar conflitos.
Assume que o ponteiro aponta a uma expressão alfanumérica.Ponteiro->[[2]]:="a"
Assume que a string index é numérica.
String[[Ponteiro->]]:="a"
Assume que o índice do array é de tipo real.
ALERT(MeuArray{Ponteiro->})
Falta um parâmetro na chamada ao comando do plug-in.
Nota: é possível desativar e ativar individualmente as advertências com as seguintes etiquetas:
//%W-número_de_advertencia para desativar uma advertência
//%W+número_de_advertencia para ativar uma advertência
Estas ativações e desativações são efetivas para todo o código analizado no plano de compilação. Se deseja desativar ou ativar uma advertência de maneira global, insere a etiqueta apropriada em um método chamado "Compiler_xxx" já que estes métodos são analizados primeiro pelo compilador. Por exemplo, para desativar a advertência "ponteiro em COPY ARRAY", pode inserir a etiqueta "//%W-518.1" na localização desejada.
Estas mensagens são geradas durante o processo de compilação. Você deve corrigir estes erros para que o compilador possa gerar um banco compilada. Cada mensagem está acompanhada de um exemplo do problema e quando é necessário, de uma explicação adicional.
As mensagens são classificadas por temas: Declaração, Sintaxe, Parâmetros, Operadores, Comandos de plug-ins e erros gerais.
O tipo da variável não é compatível com o operador. Não é possível fazer uma instrução com estes tipos.
MeuReal:=12.3
MeuBooleano:=True
MeuReal:=MeuBooleano
Mudando a longitude máxima de uma string de caracteres.
C_STRING(3;MinhaString)
C_STRING(5;MinhaString)
Mudando o número de dimensões de um array.
ARRAY TEXT(MeuArray;5;5)
ARRAY TEXT(MeuArray;5)
Conflito de tipo sobre a variável MeuArray no formulário.
ARRAY INTEGER(MeuArray)
Declarando um array sem dimensões.
ARRAY INTEGER(MeuArray)
Falta uma variável
COPY ARRAY(MiArray;"")
Falta uma constante.
C_STRING(Variavel;MinhaString)
O tipo da variável é desconhecido. Esta variável seja utiliza no método M1.
Não se pode determinar o tipo de variável. É necessária uma diretiva de compilação.
Tipo de constante incorreto : Alfanumérico
OK:="O clima é agradável"
O método M1 é desconhecido.
A linha contém uma chamada a um método que não existe ou não existe mais.
Incorreto uso de um campo.
MinhaData:=Add to date(CampoBooleano;1;1;1)
A longitude de uma string não pode ser superior a 255 caracteres.
C_STRING(325;MinhaString)
A variável Variável não é um método.
Variavel(1)
A variável Variável não é um array.
Variavel{5}:=12
O resultado da função não é compatível com a expressão.
Texto:="Número"+Num(i)
O tipo da variável não é compatível com o operador
Inteiro:=MinhaData*Texto
Não se pode realizar uma atribuição com estes tipos.
$i:="3"
$($i):=5
O índice do array não é numérico.
EntArray{"3"}:=4
Não se pode efetuar uma atribuição com estes tipos
C_TEXT(Variavel)
COPY ARRAY(TextoArray;Variavel)
Não se pode efetuar uma atribuição com estes tipos
Variable:=Num(Variavel)
Não se pode efetuar uma atribuição com estes tipos
Variable:=MeuBooleano
Mudar o array EntARRAY de tipo Inteiro a uma variável de tipo Texto
ARRAY TEXT(EntArray;12)
sei EntArray foi declarado em outra parte como um array de inteiros.
Tentando referenciar uma variável que não é de tipo ponteiro. Variável->:=5
se Variável não é de tipo ponteiro.
Redeclaração da variável Var1 de tipo texto a tipo numérico.
Não se pode realizar uma atribuição com estes tiposVar1:=3.5
Incorreto uso de um campo..
Variable:=[MinhaTabela]MeuCampo
[MinhaTabela]MeuCampo é um campo tipo Data. Variável é de tipo Numérico.
Tentando referenciar novamente uma variável que não é de tipo ponteiro.
Variable:=Num("O clima e agradavel")->
Não é possível referenciar novamente esta função.
Erro de sintaxe.
If(Booleano)
End for
Demasiados colchetes de abertura ({) .
A linha contém mais colchetes de abertura que de fechamento.
Demasiados colchetes de fechamento (})..
A linha contém mais colchetes de fechamento que de abertura.
Falta um parênteses de fechamento ).
A linha contém mais parênteses de abertura que de fechamento.
Falta um parênteses de abertura (.
A linha contém mais parênteses de fechamento que de abertura.
Falta um campo.
If(Modified(Variable))
Falta um parênteses de fechamento ).
C_INTEGER($
Falta uma variável.
C_INTEGER([MinhaTabela]MeuCampo)
Tipo de constante incorreto : Alfanumérico
C_INTEGER(${"3"})
Falta um ponto e vírgula (;).
COPY ARRAY(Array1 Array2)
- Mac OS:
Demasiados caracteres de abertura para os índices da string.
MinhaString≤3:="a"
Demasiados caracteres de fechamento para os índices da string.
MinhaString3≥:="a"
- Windows:
Demasiados caracteres de abertura para os índices da string.
MinhaString[[3:="a"
Demasiados caracteres de fechamento para os índices da string.
MinhaString 3]]:="a"
Não se esperava uma sub-tabela.
ARRAY TO SELECTION(Array;Subtabela)
O parâmetro de uma cláusula IF deve ser um booleano.
If(Ponteiro)
A expressão é muito complexa.
Divida sua instrução em várias instruções mais curtas.
O método é muito complexo.
Demasiadas estruturas Case of...End case y/o If…End if.
Campo desconhecido.
Seu método, possivelmente copiado de outro banco, contém •???• ao invés de um nome de campo.
Tabela desconhecida.
Seu método, possivelmente copiado de outra banco, contém •???• ao invés de um nome de tabela.
Ponteiro a uma expressão incorreta.
Ponteiro:=->Variavel+3
Uso incorreto de índice de string.
MeuReal≤3≥ou MeuReal[[3]]
Utilização incorreta da Variável VARIAVEL de Tipo Texto como uma variável de tipo Real
MinhaString≤Variavel≥ou MinhaString[[Variavel]]
onde Variável não é uma variável numérica.
O resultado desta função não é compatível com a expressão.
MeuMetodo(Num(MinhaString))
se MeuMetodo espera uma expressão de tipo Booleano.
Se passaram muitos parâmetros a este método.
DEFAULT TABLE(Tabela;Form)
O resultado desta função não é compatível com a expressão.
MeuMetodo(3+2)
se MeuMetodo espera uma expressão Booleana.
O resultado desta função não é compatível com a expressão.
C_INTEGER($0)
$0:=False
O resultado desta função não é compatível com a expressão.
C_INTEGER(${3})
For($i;3;5)
${$i}:=String($i)
End for
Este comando não requer nenhum parâmetro
SHOW TOOL BAR(MiVar)
Este comando rrequer ao menos um parâmetro.
DEFAULT TABLE
MinhaString não pode ser passada como parâmetro a este método.
MeuMetodo(MinhaString)
se MeuMetodo está esperando um parâmetro Booleano.
O tipo do parâmetro $1 é diferente no chamado e no método chamado.
Calcular("3+2")
com a diretiva C_INTEGER($1) em Calcular.
Um dos parâmetros em COPY ARRAY é uma variável.
COPY ARRAY(Variavel;Array)
Redeclaração da variável $1 de tipo Real a tipo Texto.
$1:=String($1)
Um array não pode ser um parâmetro.
ReInit(MeuArray)Para passar um array a um método, necessita para um ponteiro ao array.
O tipo de variável não é compatível com o operador.
Bool2:=Bool1+True
A soma não pode ser realizada sobre campos Booleanos.
Não se esperaba el operador >.
QUERY([MinhaTabela];[MinhaTabela]MeuCampo=0;>)
Não se podem comparar duas variáveis de estes tipos
If(Numero=Imagem2)
Não se pode transformar em negativo este tipo de variável.
Boolean:=-False
O comando de plug-in PExt no parece estar definido corretamente.
Não foram passados suficientes parâmetros a este comando de plug-in.
Se passaram demasiados parâmetros a este comando de plug-in.
O comando Variável do plug-in não parece estar corretamente definido.
Dois métodos tem o mesmo nome : Nome.
Para compilar seu banco, todos os métodos de projeto devem ter nomes diferentes.
Erro interno # xx.
Se aparece esta mensagem, chame ao Suporte técnico de 4D e informe o número do erro.
A variável Variável não pode ser declarada. Esta variável é utilizada no método M1.
O tipo da variável não pode ser determinado. É necessária uma diretiva de compilação.
O método original está danificado.
O método está danificado na estrutura original. Apague-o ou substitua-o.
Comando 4D desconhecido.
O método está danificado.
Redeclaração da variável Variável no formulário Formulário
Esta mensagem aparece se você dá, por exemplo, o nome OK a uma variável de tipo gráfico em um formulário.
O nome da função é também o nome de uma variável no formulário.
Renomeie a função ou a variável.
Um método e uma variável tem o mesmo nome : Nome.
Renomeie o método ou a variável.
Um comando de plug-in e uma variável tem o mesmo nome: Nome.
Renomeie o comando de plug-in comando ou a variável.
Estas mensagens são geradas por 4D durante a execução do banco compilado e são visualizados em uma janela de erro específica.
O resultado está por fora da faixa.
Se MeuArray é um array de 5 elementos, esta mensagem aparece se você tentar acessar ao elemento 17 no array.
Divisão por zero.
Var1:=0
Var2:=2
Var3:=Var2/Var1
Acesso a um parâmetro que não existe.
Utilização da variável local $4 quando só três parâmetros tenham sido passados ao método atual.
O ponteiro não está corretamente inicializado.
MeuPonteiro->:=5
se MeuPonteiro não tiver sido inicializado ainda.
A string de destino é menor que a fonte.
C_STRING(MinhaString1;5)
C_STRING(MinhaString2;10)
MinhaString2:="Flores"
MinhaString1:=MinhaString2
A referência do caracter não é válida.
i:=-30
MinhaString[[i]]:=MinhaString2 ou MinhaString[[i]]:=MinhaString2
O parâmetro é uma string vazia.
MinhaString[[1]]:=""
MinhaString[[1]]:=""
Módulo por zero.
Var1:=0
Var2:=2
Var3:=Var2% Var1
Parâmetros incorretos em um comando Execute Fórmula.
EXECUTE FORMULA("MeuMetodo(MeuAlfa)")
se MeuMetodo espera um parâmetro diferente de um alfanumérico.
Ponteiro a uma variável desconhecida.
MeuPonteiro:=Get pointer("Variable")
MeuPonteiro:="MinhaString"
se Variável não aparece explicitamente no banco.
Tentativa de redirecionar usando um ponteiro
Booleano:=Ponteiro->
se ponteiro aponta a um campo de tipo Inteiro.
Mal uso de um ponteiro ou ponteiro a uma variável desconhecida
Caracter:=StringVar[[Ponteiro->]]
Caracter:=StringVar[[Ponteiro]]
se ponteiro não aponta a um número.