4D v16.3Messages d'erreurs |
||
|
4D v16.3
Messages d'erreurs
Messages d'erreurs
Cette section détaille les principaux messages délivrés par le compilateur. Ces messages sont de plusieurs types :
Ces messages sont délivrés tout au long du processus de compilation. Chaque message est accompagné ici d’un exemple de ce qui a pu le provoquer et, éventuellement, d’une explication supplémentaire. Utilisation de pointeur(s) comme paramètre(s) de COPY ARRAY COPY ARRAY(LePointeur->;LeTableau) Utilisation de pointeur(s) comme paramètre(s) de SELECTION TO ARRAY SELECTION TO ARRAY(LePointeur->;LeTableau) Utilisation de pointeur(s) comme paramètre(s) de ARRAY TO SELECTION ARRAY TO SELECTION(LePointeur->;[LaTable]LeChamp) Utilisation de pointeur(s) comme paramètre(s) de LIST TO ARRAY
Utilisation de pointeur(s) comme paramètre(s) de ARRAY TO LIST ARRAY TO LIST(LePointeur->;Enum) Utilisation de pointeur(s) dans une déclaration de tableau ARRAY REAL(LePointeur->;5) L’instruction ARRAY REAL(LeTableau;LePointeur->) ne provoquera pas cet avertissement. La valeur de la dimension d’un tableau n’a pas d’influence sur son type. Utilisation de pointeur(s) comme paramètre(s) de DISTINCT VALUES DISTINCT VALUES(LePointeur->;LeTableau) Utilisation de la fonction Undefined If(Undefined(LaVariable)) Cette méthode est protégée par un mot de passe. Le Formulaire LeFormulaire contient un bouton avec action sans nom dans la page 1. Le pointeur utilisé dans cette commande doit pointer sur un Alphanumérique. LePointeur->≤2≥:="a" Le pointeur utilisé dans cette commande doit pointer sur un Entier, un Entier long ou un Numérique Un indice de tableau doit être Entier, Entier long ou Numérique. ALERT(LeTableau{LePointeur->}) Il manque un paramètre à l’appel de la commande du plug-in. WR SET FONT(LaZone) Note : Il est possible de désactiver et d'activer individuellement des warnings avec les balises suivantes : Ces messages vous sont délivrés tout au long du processus de compilation. Il vous appartient de corriger ces erreurs afin de permettre au compilateur de générer une base compilée. Chaque message est accompagné ici d’un exemple de ce qui a pu le provoquer et éventuellement, d’une explication supplémentaire. Typage Cet opérateur ne peut s’appliquer à ce type de variable. Cette affectation provoquerait un conflit de type. LeRéel:=12,3 Changement du nombre de dimensions d'un tableau. ARRAY TEXT(LeTableau;5;5) Conflit de type sur la variable LeTableau dans le formulaire LeFormulaire. ARRAY INTEGER(LeTableau) Déclaration d'un tableau sans indice. ARRAY INTEGER(LeTableau) Il manque une variable. COPY ARRAY(LeTableau;"") Impossible de déterminer le type de LaVariable. Cette variable est utilisée dans la méthode M1. Type de constante invalide OK:="Il fait beau" La méthode M1 est inconnue. Le champ utilisé dans cette expression provoque un conflit de type. MaDate:=Add to date(LeChampBool;1;1;1)
La variable LaVariable n'est pas une méthode. LaVariable(1) La variable LaVariable n'est pas un tableau. LaVariable{5}:=12 Le résultat de la fonction est incompatible avec l'expression. LeTexte:="Numéro"+Num(i) Les types utilisés dans l’expression sont incompatibles. LEntier:=LaDate*LeTexte Utilisation de la variable $i de type alphanumérique comme variable de type réel. $i:="3" L'indice du tableau n'est pas numérique. TabEntier{"3"}:=4 Retypage de la variable LaVariable du type Texte en tableau de type Texte. C_TEXT(LaVariable) Retypage de la variable LaVariable du type Texte en type Réel. LaVariable:=Num(LaVariable) Retypage du tableau LeBooléen du type Booléen en variable de type Réel. LaVariable:=LeBooléen Retypage du tableau du type Entier en type tableau de type Texte. ARRAY TEXT(TabEntier;12) si TabEntier a été déclaré ailleurs comme tableau d'Entiers. Seuls les pointeurs peuvent être suivis du signe -> LaVariable->:=5 si LaVariable n’est pas de type Pointeur. Utilisation de la variable LaVar1 de type Texte comme une variable de type Numérique. LaVar1:=3,5 Utilisation d'un champ de type incorrect. [LaTable]LeChamp est un champ de type Date. LaVariable est de type Numérique. LaVariable:=[LaTable]LeChamp Syntaxe Cette fonction ne retourne pas un pointeur. LaVariable:=Num("Il fait beau")-> Il n’est pas possible de dépointer cette fonction. Erreur de syntaxe. If(LeBooléen) Cette expression contient trop d'accolades ouvrantes ({). Cette expression contient trop d'accolades fermantes (}). Il manque une parenthèse fermante. Il manque une parenthèse ouvrante. J'attendais un champ. If(Modified(LaVariable)) Il manque une accolade ouvrante. C_INTEGER($ J'attendais une variable. C_INTEGER([LaTable]LeChamp) J'attendais un nombre constant. C_INTEGER(${"3"}) J'attendais un point virgule. COPY ARRAY(LeTableau1 LeTableau2) Cette expression contient trop d'indices de chaîne ouvrants (MacOS). LaChaine≤3:="a" Cette expression contient trop d'indices de chaîne fermants (MacOS). LaChaine3≥:="a" Cette expression contient trop d'indices de chaîne ouvrants (Windows). LaChaine[[3:="a" Cette expression contient trop d'indices de chaîne fermants (Windows). LaChaine 3]]:="a" Je n’attendais pas un champ de type sous-table ARRAY TO SELECTION(LeTableau;Soustable) Le type du paramètre de SI doit être booléen. If(LePointeur) L’expression est trop complexe. Méthode trop complexe. Référence à un champ inconnu. Référence à une table inconnue. Un pointeur ne peut être défini sur cette expression. LePointeur:=->LaVariable+3 Utilisation incorrecte des indices de chaînes de caractères. LeNumérique≤3≥ou LeNumérique[[3]] ou bien LaChaine≤LaVariable≥ou LaChaine[[LaVariable]] où LaVariable n’est pas une variable Numérique. Paramètres Ce résultat de fonction ne peut pas être paramètre de cette méthode. LaMéthode(Num(LaChaine)) si LaMéthode attend un paramètre de type Booléen. Cette routine reçoit trop de paramètres DEFAULT TABLE(LaTable;LeFormulaire) Cette valeur ne peut pas être paramètre de cette méthode. LaMéthode(3+2) si LaMéthode attend un paramètre de type Booléen. Conflit de type sur la variable $0. C_INTEGER($0) Conflit de type sur le paramètre générique. C_INTEGER(${3}) La routine n'attend pas de paramètre. SHOW TOOL BAR(MaVar) La routine nécessite au moins un paramètre. DEFAULT TABLE La variable LaChaine ne peut pas être paramètre de cette méthode. LaMéthode(LaChaine) si LaMéthode attend un paramètre de type Booléen. Le type du paramètre $1 dans la méthode est différent de celui du paramètre à l'appel. Calcul("3+2") avec la directive _o_C_INTEGER($1) dans Calcul. Le type du paramètre passé ne correspond pas au type du paramètre attendu. Impri("LaserWriter") si dans la méthode Impri, $1 est de type Numérique. L’un des paramètres de COPIER TABLEAU est une variable. COPY ARRAY(LaVariable;LeTableau) Retypage du paramètre $1 du type réel en type Texte. $1:=String($1) Un paramètre ne peut être un tableau. RéInit(LeTableau) Pour passer un tableau à une méthode, il faut passer un pointeur sur ce tableau. Un paramètre ne peut être utilisé dans l'appel de cette routine. RECEIVE VARIABLE($1) Utilisation du paramètre $1 de type Booléen comme une variable de type Entier. GET FIELD PROPERTIES(NoDeTable;NoDeChamp;Type;$1) Opérateurs Cet opérateur ne peut s'appliquer à ce type de variable. LeBool2:=LeBool1+True L’addition ne peut pas s’appliquer à des Booléens. Je n'attendais pas l'opérateur > QUERY(LaTable;[LaTable]LeChamp=0;>) Les deux opérandes ne sont pas comparables. If(LeLongE=Image2) Le signe moins ne peut pas être utilisé dans cette expression. LeBool:=-False Plug-ins La commande PExt du plug-in est mal définie. Il manque des paramètres à l’appel de la commande du plug-in. Le nombre de paramètres envoyés à la commande du plug-in est trop grand. La commande LaVariable du plug-in est mal définie. Erreurs générales Deux méthodes portent le même nom : LeNom. Erreur interne n° xx. Je n'ai pas pu déterminer le type de LaVariable. Cette variable est utilisée dans la méthode M1. La méthode originale est endommagée. Méthode 4D inconnue. Retypage de la variable LaVariable dans le Formulaire LeFormulaire. Une fonction et une variable portent le même nom : LeNom. Une variable dessinée dans le Formulaire LeFormulaire a le même nom qu'une fonction : LeNom. Une méthode et une variable portent le même nom : LeNom. Une commande du plug-in et une variable portent le même nom : LeNom. Une commande qui n'est pas thread-safe ne peut pas être appelée par une méthode déclarée thread-safe. La méthode 'NomMethode' qui n'est pas thread-safe ne peut pas être appelée par une méthode déclarée thread-safe. Ces messages sont délivrés dans 4D, lors de l’utilisation de la base compilée. Ils sont affichés dans 4D dans une fenêtre d'erreur spécifique. Dépassement de capacité d'un tableau. Division par zéro. Var1:=0 Le paramètre utilisé n'a pas été passé. Le pointeur n'est pas correctement initialisé. LePointeur->:=5 si LePointeur n’a pas encore été initialisé. La chaîne dans laquelle se fait l'affectation est trop courte. C_STRING(LaChaine1;5) L'indice de chaîne n'est pas valide (trop grand ou négatif). i:=-30 La chaîne passée en paramètre est vide ou non initialisée. LaChaine≤1≥:="" Modulo par zéro. Var1:=0 Paramètres incorrects dans une commande EXECUTER FORMULE. EXECUTE FORMULA("MaMéthode(MonAlpha)") si MaMéthode attend un paramètre autre qu’alphanumérique. Pointeur sur une variable inconnue du compilateur. LePointeur:=Get pointer("LaVariable") si LaVariable n’apparaît pas explicitement dans la base. Tentative de retypage par l’intermédiaire d’un pointeur. LeBooleen:=LePointeur-> si LePointeur référence un champ de type Entier. Utilisation incorrecte d’un pointeur. LeCaractère:=LaChaine≤LePointeur->≥ si LePointeur ne référence pas un Numérique.
Voir aussi
Conseils d’optimisation
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
MOTS-CLÉS warning UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |