4D v14.3Messages d'erreurs |
||
|
4D v14.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 COPIER TABLEAU COPIER TABLEAU(LePointeur->;LeTableau) Utilisation de pointeur(s) comme paramètre(s) de SELECTION VERS TABLEAU SELECTION VERS TABLEAU(LePointeur->;LeTableau) Utilisation de pointeur(s) comme paramètre(s) de TABLEAU VERS SELECTION TABLEAU VERS SELECTION(LePointeur->;[LaTable]LeChamp) Utilisation de pointeur(s) comme paramètre(s) de LISTE VERS TABLEAU
Utilisation de pointeur(s) comme paramètre(s) de TABLEAU VERS ENUMERATION TABLEAU VERS ENUMERATION(LePointeur->;Enum) Utilisation de pointeur(s) dans une déclaration de tableau TABLEAU REEL(LePointeur->;5) L’instruction TABLEAU REEL(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 VALEURS DISTINCTES VALEURS DISTINCTES(LePointeur->;LeTableau) Utilisation de la fonction Indefinie Si(Indefinie(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. ALERTE(LeTableau{LePointeur->}) Il manque un paramètre à l’appel de la commande du plug-in. WR FIXER POLICE(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 de la longueur maximale d'une chaîne de caractères. Changement du nombre de dimensions d'un tableau. TABLEAU TEXTE(LeTableau;5;5) Conflit de type sur la variable LeTableau dans le formulaire LeFormulaire. TABLEAU ENTIER(LeTableau) Déclaration d'un tableau sans indice. TABLEAU ENTIER(LeTableau) Il manque une variable. COPIER TABLEAU(LeTableau;"") Il manque une constante. C_ALPHA(LaVariable;LaChaine) 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:=Ajouter a date(LeChampBool;1;1;1) La taille d'une chaîne de caractères ne peut pas dépasser 255. C_ALPHA(325;LaChaine) 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_TEXTE(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. TABLEAU TEXTE(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. Si(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. Si(Modifie(LaVariable)) Il manque une accolade ouvrante. C_ENTIER($ J'attendais une variable. C_ENTIER([LaTable]LeChamp) J'attendais un nombre constant. C_ENTIER(${"3"}) J'attendais un point virgule. COPIER TABLEAU(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 TABLEAU VERS SELECTION(LeTableau;Soustable) Le type du paramètre de SI doit être booléen. Si(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 TABLE PAR DEFAUT(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. Conflit de type sur le paramètre générique. C_ENTIER(${3}) La routine n'attend pas de paramètre. AFFICHER BARRE OUTILS(MaVar) La routine nécessite au moins un paramètre. TABLE PAR DEFAUT 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 C_ENTIER($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. COPIER TABLEAU(LaVariable;LeTableau) Retypage du paramètre $1 du type réel en type Texte. $1:=Chaine($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. Utilisation du paramètre $1 de type Booléen comme une variable de type Entier. LIRE PROPRIETES CHAMP(NoDeTable;NoDeChamp;Type;$1) Opérateurs Cet opérateur ne peut s'appliquer à ce type de variable. LeBool2:=LeBool1+Vrai L’addition ne peut pas s’appliquer à des Booléens. Je n'attendais pas l'opérateur > CHERCHER(LaTable;[LaTable]LeChamp=0;>) Les deux opérandes ne sont pas comparables. Si(LeLongE=Image2) Le signe moins ne peut pas être utilisé dans cette expression. LeBool:=-Faux 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. 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. 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. EXECUTER FORMULE("MaMéthode(MonAlpha)") si MaMéthode attend un paramètre autre qu’alphanumérique. Pointeur sur une variable inconnue du compilateur. LePointeur:=Pointeur vers("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. |
PROPRIÉTÉS
Produit : 4D VOIR AUSSI
Conseils d’optimisation MOTS-CLÉS warning UTILISATION DE L'ARTICLE
4D - Langage ( 4D v11 SQL Release 6) |