[RESOLU] Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Bonjour à toutes et à tous,

Tout d'abord le message d'erreur :
Erreur à la ligne 0 du traitement Constructeur.
Un élément de type chaîne ne peut pas être converti vers le type tableau.


**********************************************

Informations techniques

Projet : EIN04

Dump de l'erreur du module <WD80VM.DLL> <8.00Jv>.

- Appel WL :
Traitement de <clAssistant.Constructeur>, ligne <0>, thread <0>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 1021

- Code erreur WD55 : 0

- Pas de code d'erreur système

- Pas de message d'erreur système

- Que s'est-il passé ?
Un élément de type chaîne ne peut pas être converti vers le type tableau.

- Pas d'info de debug

- Infos attachées :
EIT_DATEHEURE : 15/09/2004 11:09:52
EIT_PILEWL :
  Constructeur (clAssistant.Constructeur), ligne 0
  Initialisation de EIN04 (), ligne 26

- Identifiant dans le .err : 1021


J'ai deux classes : clAssistant et clINIecLec
La première classe peut faire appel à plusieurs instances de la deuxième.

Maintenant voici le code du contructeur de clAssistant puiqu'il semble que ce soit elle qui pose problème :

PROCEDURE Constructeur(cAssistantNom)
// Déclaration des variables 
i est un entier = 0

// Initialisation de :As_AssistantNom
:As_AssistantNom = cAssistantNom

// Connexion au fichier INI contenant les paramètres
:ListeDeINIEcLec = allouer un tableau dynamique de 10 clINIEcLec dynamique
:IndiceMax = 0


:_As_INI = allouer clINIEcLec(gcApplicationRepertoire + "App.ini")
:IndiceMax++
:ListeDeINIEcLec[:IndiceMax]= :_As_INI



// Récupération du numéro de fenêtre de départ de l'assistant 
:cFenetreDépart[1] =:_As_INI:INIMotClésLit("Assistant " + cAssistantNom,"Start")

// Dans le fichier INI, on va récupérer le nom de la fenêtre 
:cFenetreDépart[2] = :_As_INI:INIMotClésLit("FENETRES", :cFenetreDépart[1])


// On donne à :cFenetreEnCours la valeur de cFenetreDépart
POUR i = 1 A 2
	:cFenetreEnCours[i] = :cFenetreDépart[i]	
FIN



Pour finir le code de'initialisation de la classe dans le projet :
// Déclaration de la classe Assistant pour les identifiants
cAssNom est une chaîne = "IDENTIFIANT"
Ass_Ident est clAssistant(cAssNom)


Voilà, le problème pour débusquer l'erreur, c'est que la ligne incriminée est la ligne 0 du contructeur et la ligne 0, elle n'existe pas .
J'ai placer des points d'arrêt de partout et impossible de savoir ce qui fait capoter l'exécution.

Quelqu'un a t-il une idée ?? En attendant, je continue à chercher...


Contribution le : 15/09/2004 11:22
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour Thernius,

Idée
En typant ton paramètre d'entrée
modifier
PROCEDURE Constructeur(cAssistantNom)


en
PROCEDURE Constructeur(cAssistantNom est une Chaîne)

Contribution le : 15/09/2004 12:06
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Merci DrCharly,

Mais cela n'a rien donné.
Je continue ma recherche.

Merci quand même.

Contribution le : 15/09/2004 13:07
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
pourrais tu donner la construction de la classe :clINIEcLec

Je pense que ça doit venir de la.

De plus, quand tu déclare un tableau de clINIEcLec fait le comme suit (c'est peut etre ça aussi)

Liste est un tableau dynamique
Liste = allouer un tableau de 10 objets dynamique
Liste[1] = allouer un clINIEcLec
Liste[2] = allouer un clINIEcLec
...
...

Voila sinon, donne nous le constructeur de clINIEcLec...

Contribution le : 16/09/2004 10:00
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Désolé Thernius,

Sans pouvoir tester personnellement, cela risque d'être difficile.

Contribution le : 16/09/2004 13:00
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Ce que je souhaite faire est la chose suivante :

- j'ai une classe de gestion des fichiers INI (clINIEcLec)
- j'ai une classe Assistant (clAssistant)

Je veux pouvoir instancier dans la classe Assistant plusieurs classes clINIEcLec pour attaquer en même temps plusieurs fichiers INI.

J'ai réalisé sur le modèle de la trousse de toilette, la modélisation UML nécessaire (enfin en tout cas, je pense...). Puis j'ai généré mes classes et les ai adampté ensuite (paramètres, etc...)

Et je n'y arrive pas, alors je vous en prie mes Seigneurs venez à mon secours.

Voici le code d'initialisation de clINIEcLec :

// Syntaxe :
//clINIEcLec (<P_INIFichier>)
//
// Paramètres :
// 	P_INIFichier : <indiquez ici le rôle de P_INIFichier>
// Valeur de retour :
// 	Aucune
PROCEDURE Constructeur(P_INIFichier est une chaîne = "")
	:INIFichier = P_INIFichier
	SI :INIFichier = "" ALORS
		:INIFichier = fRepEnCours() + "appli.ini"
	FIN


Voilà, je me tiens à votre disposition pour tout renseignements complémentaires.


Contribution le : 16/09/2004 13:29
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
As tu essayé d'allouer ton tableau de la façon que j'ai ecris plus haut ??

Contribution le : 16/09/2004 14:11
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Oui, j'ai essayé plusieurs possibilité dont la tienne, et là je dois avouer que je suis perdu.
D'une part, les tableaux dynamiques c'est pas ma tasse de thé et surtout je ne comprends pas pourquoi le message d'erreur me rapporte une ligne 0.

Je ne sais plus trop quoi faire.

Contribution le : 16/09/2004 14:16
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
A la place de se code

Citation :

// Connexion au fichier INI contenant les paramètres
:ListeDeINIEcLec = allouer un tableau dynamique de 10 clINIEcLec dynamique
:IndiceMax = 0

:_As_INI = allouer clINIEcLec(gcApplicationRepertoire + "App.ini")
:IndiceMax++
:ListeDeINIEcLec[:IndiceMax]= :_As_INI


je verrais qqchose dans le style :


Citation :

:IndiceMax = 0
:ListeDeINIEcLec = allouer un tableau de 10 objets dynamique
:ListeDeINIEcLec[1] = allouer un clINIEcLec(gcApplicationRepertoire + "App.ini")

:IndiceMax++

Contribution le : 16/09/2004 14:17
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Je vais essayer de suite ...

Contribution le : 16/09/2004 14:19
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
Pour la ligne 0, c'est une erreur qui passe à la compile, mais pas à l'execution, en fait en général, c'est quand des champs type standard sont comparés avec des champs plus complexes, donc comparaison impossible, j'ai eu le problème en insérant un bout de code dans mon application qui paraissait bon, à une lettre près:

dans un Selon le code définisait une variable appelée Bit, et mon application contenait une classe Bit, dans le code:
Selon Bit
Cas 1:

Cas 0:
fin

Ben la ça me fesait une erreur du même style que la tienne avec en ligne 0...

Contribution le : 16/09/2004 14:22
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Tiens, tiens bizarre :

je viens d'utiliser le bout de code que tu m'as donné et lorsque je veux accéder au propriétés et méthode de mon objet :ListeDeINIEcLec qui est censé être un clINIecLec et bien je me retrouve avec toutes propriétés de la classe Assistant aux lieux de celle de la classe clINIEcLec.

Je vais creuser... Si tu as une idée...

Contribution le : 16/09/2004 14:27
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
Conseil :

Pour isoler ton erreur, enlève toutes les lignes du code, à partir de ':IndiceMax = 0', puis remêt ton code ligne par ligne jusqu'a ce que tu retrouve ton message d'erreur.

Dis nous à quel moment se déclenche l'erreur.

Pour les propriétés, c'est normal, ton objet est un objet dynamique maintenant, l'éditeur de windev ne pourra pas t'aider, il te propose les attributs et methodes de la classe que tu edite... c'est normal, pas cool mais normal.

Contribution le : 16/09/2004 14:31
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
ok, c'est parti...

Contribution le : 16/09/2004 14:32
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Impossible de trouver, je tourne en rond, je perds du temps. Je reprends à zéro. Je dois livrer une maquette demain et là la nuit risque déjà d'être longue.

Merci à vous en tout cas pour votre aide.

Je vous tiens au courant si jamais je trouve.

Merci tout particulier à Deedier !!

PS : N'oubliez pas de voter !!!

Contribution le : 16/09/2004 15:13
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
Citation :
thernius a écrit :
Merci tout particulier à Deedier !!
Ur welcome !!
C'est rageant qd même !! je t'aurai bien emmené au bout mais bon ...

Bon courage pour la suite... tiens nous au courrant !

WOUAH !! ça fait 2 étoiles dis donc !!!je vien de passer WDUtilisateur... c'est beau... ...

Contribution le : 16/09/2004 15:23
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???

Inscrit:
08/10/2003 15:30
De Montfort sur Argens (83)
Post(s): 209
Alelouia !!!

Je viens de trouver et comme dans 95% des cas c'est une bête erreur de programmation. Allez, 100 coups de fouet pour Thernius

En fait dans la déclaration de ma classe clAssistant, je déclarais ceci :
cFenetreEnCours est un tableau statique de 2 chaîne = ""
cFenetrePrecedente est un tableau statique de 2 chaîne = ""
cFenetreSuivante est un tableau statique de 2 chaîne = ""
cFenetreDépart est un tableau statique de 2 chaîne = ""


et l'erreur était la suivante :
- utilisation de 'statique', je ne sais même pas d'où je sortais çà

voilà, un bon nombre d'heures perdues pour une bétise...

Désolé de vous avoir embété avec une telle bétise....

J'espère que vous me pardonnez, en tout cas les 100 coups de fouet... aie aie, aie

Contribution le : 17/09/2004 14:07
_________________
Cordialement,
Thernius
-------------------------------------------
Itanéa.com, réalisations de logiciels & créations webs......
Créer un fichier PDF de la contribution Imprimer


Re: Comment trouver ce qui déclenche cette erreur ???
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
grrrr !
Au moins tu auras trouvé !

Contribution le : 17/09/2004 14:39
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2