4D v16.3Mensagens de Erro |
||
|
4D v16.3
Mensagens de Erro
Mensagens de Erro
Esta seção descreve as diferentes mensagens geradas pelo compilador. Estas mensagens são de diferentes tipos:
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) 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->) 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. Assume que o ponteiro aponta a uma expressão alfanumérica. 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. WR SET FONT(Area) //%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.
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 Mudando a longitude máxima de uma string de caracteres. C_STRING(3;MinhaString) Mudando o número de dimensões de um array. ARRAY TEXT(MeuArray;5;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. Tipo de constante incorreto : Alfanumérico OK:="O clima é agradável" O método M1 é desconhecido. 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" 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) 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. se Variável não é de tipo ponteiro. Redeclaração da variável Var1 de tipo texto a tipo numérico. 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) Demasiados colchetes de abertura ({) . Demasiados colchetes de fechamento (}).. Falta um parênteses de fechamento ). Falta um parênteses 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)
MinhaString≤3:="a" Demasiados caracteres de fechamento para os índices da string. MinhaString3≥:="a"
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. O método é muito complexo. Campo desconhecido. Tabela desconhecida. 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) O resultado desta função não é compatível com a expressão. C_INTEGER(${3}) 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.
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. Erro interno # xx. A variável Variável não pode ser declarada. Esta variável é utilizada no método M1. O método original está danificado. Comando 4D desconhecido. Redeclaração da variável Variável no formulário Formulário O nome da função é também o nome de uma variável no formulário. Um método e uma variável tem o mesmo nome : Nome. Um comando de plug-in e uma variável tem o mesmo nome: Nome. 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. Divisão por zero. Var1:=0 Acesso a um parâmetro que não existe. 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) A referência do caracter não é válida. i:=-30 O parâmetro é uma string vazia. MinhaString[[1]]:="" Módulo por zero. Var1:=0 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") 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->]] se ponteiro não aponta a um número.
Ver também
Detalhes de sintaxe
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
PALAVRAS CHAVES warning ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |