Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Bonsoir,

Ce soir je suis franchement furax et déprimé à l'idée de ma journée de demain :

Cet aprem je fait une mise à jour pour un client hyper tatillon, d'un soft qui est rodé est qui pose (normalement) pas de problèmes.

La mise à jour se fait, le client rappel pour une autre micro modif, je la fait, je réenvoi le bidule, et là :

Le soft plante au démarrage sur une procédure qui n'est appelée à aucun moment dans le code. Je reregarde mes sources pour vérifier, je vire carrement la procédure. Et la c'est sympa, sur cetains postes ça plante sur cet appel de méthode fantome, sur d'autres non !!! Alors j'anticipe vos réponses : je suis plus un newbie et je mettrai ma vie en jeu que j'ai bien éxécuté la même version d'exe et de librairies sur les postes réagissants differement.

Mais comme si ça ne suffisait pas : Mon code en mode test se met à planter de partout sur des routines que j'ai pas touchée, et ceci de manière aléatoire.

Exemple :

- plantage dans des méthodes de composants que j'ai pas modifiés depuis belle lurettes.

- Une table dans laquelle je change la couleur des lignes selons certaines valeurs :

du genre :
affichage d'une ligne de table1 :

si table1[table1].valeur = 1 alors
table1[table1]..couleurfond = irouge
fin


la table va aussi bien s'afficher correctement 10 fois de suite, et puis on sait pas pourquoi, un autre coup il fait un plantage en me disant que "Mr Dupont" n'est pas un champ valide. En fait il remplace aléatoirement le nom de la table par le nom d'un des clients qu'elle contient.

Si je met un trace(table1) juste avant ce code, je n'ai plus de plantage.

Si met mon code en commentaire, du coup ça passe, mais ça plante d'un autre bout sans raison.

J'ai aussi eût depuis ce même moment des "access violation" que j'ai résolu en modifiant la config de prévention d'execution de données, mais ce qui m'inquiète, c'est que j'avais jamais eut ce problème avant...

Etc etc...

Conclusion :

- Ce soir j'ai envie de tuer des gens.
- Demain matin je vais avoir du mal à expliquer à mon client pourquoi je peux rien faire pour lui.
- Comment faire pour avoir encore confiance en Windev ?
- Si c'est de ma faute, ou le symptome typique d'un problème connu, je suis intéréssé par une solution.

Merci,

Seb

Contribution le : 13/09/2006 20:47
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
Utilisateur WDF
Inscrit:
13/11/2005 02:24
Post(s): 74
je pense que cela viens de ton code car la variable table1 n'est peut etre pas initiliser, et dans le cas table1=0 windev va declencher une exception (erreur).

je te conseille de la capture avec ce code :

quand exception
//ton code
faire
exceptionactive()
// code en cas d'erreur
fin

Contribution le : 13/09/2006 20:55
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Ba franchement je doute, ça doit faire un an que ça tourne comme ça, et j'ai rien changé ici non plus entre le moment ou ça marchait, et maintenant.

Et cela n'explique pas non plus pourquoi j'ai ce genre de merdes un peu partout dans mon code.

Je met en cause le compilateur, car plusieurs fois, du code modifié dans des méthodes n'à pas été pris en compte, et j'ai parfois du faire compilation sur recompliation avant que ça passe comme je le demandais...

Contribution le : 13/09/2006 21:09
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Je rebondi sur que tu me disait floman321. En admettant que la table ne soit pas initialisée (ce dont je doute), si le traitement "affichage d'une ligne de table1" est executé, c'est qu'elle doit bien être initialisée quand même ?

Contribution le : 13/09/2006 21:13
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

J'ai eut le même soucis en WD9 (et oui tu n'es pas le seul).
J'ai eut le soucis dans un superchamp. Il existe deux méthodes pour ne plus générer cette erreur :
- Aller à l'endroit du code générant une erreur, puis générez des lignes vides en appuyant sur la touche entrée puis supprimez les lignes, recompilez et cela devrait fonctionner.
- Passer à WD10, ce problème a disparu (enfin dans mon cas)

Bon dév.,

Totof

Contribution le : 14/09/2006 02:11
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
03/12/2004 07:46
Post(s): 235
ma solution valable en 9 et en 10

lorsque je fais beaucoup de modif dans le code, et notament des suppressions, j'ai remarqué que parfois il gardait des références au code supprimé.
Pour résoudre le problème, je supprime le répertoire cpl dans le répertoire du projet (attention qu'il ne reste rien dans le groupeware) et j'utilise l'option de menu :
projet
autres actions
réparer le projet

ça reconstruit les toutes dépendances et recompile l'ensemble.

surtout bien vérifier les warning et info de compilation.

Contribution le : 14/09/2006 08:25
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Ok merci beaucoup,

En virant les rep cpl, et réparant le projet, ça semble avoir solutionné pas mal des plantages bizzards que j'avais.

Par contre j'ai toujours mon problème de table, qui survient de manière aléatoire. Pour le moment j'ai donc désactivé ces lignes de code, en attendant de trouver une solution.

Contribution le : 14/09/2006 09:49
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Une solution extreme consiste a recreer entierement la fenêtre
ATTENTION....
Ne pas utiliser de copier coller

A mettre en oeuvre qu'en dernier ressort.

Contribution le : 14/09/2006 10:08
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Je viens d'avoir un autre plantage du même type que celui que j'ai enlevé de mon code plus haut !

J'ai un selecteur qui, lorsqu'il est modifié, construit une table à partir d'une requete SQL (différent selon l'indice du selecteur). Il semblerai que lors du passage très rapide et répété d'une valeur de sélécteur à l'autre, windev finisse par perdre les pédales, et fasse n'importe quoi !

En fait ce problème est sans doutes là depuis toujours, mais j'avais peut être pas assez bourriné lors de tests. Avez vous constaté ce genre de soucis avec les selecteurs ?

Contribution le : 14/09/2006 10:32
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
C tro fort windev !

Bon, je met quelques multitache(10) afin de limiter un peu la casse, je retape tout mon code qui merdouille (sans copier coller).

Ca plante encore, je met un traitement d'exceptions, ça plante plus, et finalement j'obtient ça :

Runtime Error

Program c:\windev9\programmes\wdtest.exe

R6025
-Pure virtual function call


Ok c'est le moteur de test qui plante, mais quand même.

C'est gentil tout ça...

Contribution le : 14/09/2006 10:51
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Bon, je sais que je commence à être chiant là, mais une fois compilé, j'ai ça maintenant :

Erreur à la ligne 37 du traitement Procédure globale genererRechercheProspects.
Une erreur système inattendue est survenue.
Si cet incident se produit de manière systématique lorsque vous exécutez les mêmes manipulations, il est conseillé de transmettre au Support Technique Gratuit :
 - une description des circonstances de l'incident
 - les lignes de code, une fenêtre ou un projet permettant de reproduire le problème
 - les informations techniques suivantes

Détails techniques :

Module : WD90VM.DLL
Version du module : 9.01Ga
VI : 01-90034J 
Adresse de base : 25E60000
Erreur système : Access violation (GPF)
EIP = 25EA6939
OS : Windows XP ou .NET Service Pack 2(5.1.2600)


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

Informations techniques

Projet : Centralyse Calling

Dump de l'erreur du module <WD90VM.DLL> <9.01Ga>.

- Appel WL :
Traitement de <generationRecherches.genererRechercheProspects>, ligne <37>, thread <0>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 1020

- Code erreur WD55 : 0

- Pas de code d'erreur système

- Pas de message d'erreur système

- Que s'est-il passé ?
Une erreur système inattendue est survenue.
Si cet incident se produit de manière systématique lorsque vous exécutez les mêmes manipulations, il est conseillé de transmettre au Support Technique Gratuit :
 - une description des circonstances de l'incident
 - les lignes de code, une fenêtre ou un projet permettant de reproduire le problème
 - les informations techniques suivantes

Détails techniques :

Module : WD90VM.DLL
Version du module : 9.01Ga
VI : 01-90034J 
Adresse de base : 25E60000
Erreur système : Access violation (GPF)
EIP = 25EA6939
OS : Windows XP ou .NET Service Pack 2(5.1.2600)

- Infos de debug :
Registres :

  EIP = 25EA6939    EBP = 0013EDEC
  EAX = 00000000    EBX = 00000000
  ECX = 0000001B    EDX = 25F2FB74
  ESI = 00000064    EDI = 00033BC8

Pile des appels :

[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 20185 bytes
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25E6E010 : WL_SetParam() + 68436 bytes
[???]	01770DCC-> INVALID, stack increased by 4
[Centralyse.exe (00000000), 1.06D]	00000090
[Centralyse.exe (00000000), 1.06D]	00000001
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25E610C0-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 181904 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 184592 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25E61010-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 181232 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 181296 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 176528 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 177872 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25E610D0-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 216784 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 184592 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 223152 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 179488 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 219616 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 180272 bytes-> INVALID, stack increased by 4
[WD90VM.DLL (25E60000), 9.01Ga, 01-90034J ]	25EA1A60 : nConversionDepassement() + 217456 bytes-> INVALID, stack increased by 4


- Infos attachées :
EIT_DATEHEURE : 14/09/2006 10:52:05
EIT_PILEWL :
  Procédure globale genererRechercheProspects (generationRecherches.genererRechercheProspects), ligne 37
  Procédure globale genererRecherche (procedures_publiques.genererRecherche), ligne 46
  Procédure locale refresh (frmListeTiers.PROCEDURE.refresh), ligne 74
  A chaque modification de selecteur_typeTiers (frmListeTiers.selecteur_typeTiers), ligne 3

- Identifiant dans le .err : 1020


ça parle à quelqu'un ?

C'est un composant qui générer du code source permettant la connexion, et le lancement d'une requeteQSL sur une base externe de type access. Code source ensuite compilé dans l'application Hote du composant. Encore une fois, c'est un composant que j'utilise depuis perpette sans soucis, et que je n'ai pas modifié (juste recompilé).

Contribution le : 14/09/2006 10:55
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

Avez vous essayé mon astuce ?
Générer des lignes vides à partir de la ligne d'erreur puis les supprimer ?

A chaque recompilation du composant le problème pourrait resurgir. Comme dit j'avais eut exactement le même problème c'est la seule solution que j'ai trouvée et qui fonctionne (A part tout refaire biensur)!

Bon dév.,

Totof

Contribution le : 14/09/2006 10:59
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Citation :

Totof a écrit:
Bonjour,

Avez vous essayé mon astuce ?
Générer des lignes vides à partir de la ligne d'erreur puis les supprimer ?

A chaque recompilation du composant le problème pourrait resurgir. Comme dit j'avais eut exactement le même problème c'est la seule solution que j'ai trouvée et qui fonctionne (A part tout refaire biensur)!

Bon dév.,

Totof


Oui oui, merci, j'ai essayé, mais j'ai toujours le problème.

Je suis en train de complètement refaire (differement) mon code sur la partie qui plante...

C'est quand meme super chiant, et pas très rassurant pour les installs client.

Contribution le : 14/09/2006 11:07
Créer un fichier PDF de la contribution Imprimer


Re: Compilateur Windev = Du grand n'importe quoi ???
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Tant que le code du composant n'est pas recompilé il n'y aura pas de soucis.

P.S.: Il me semble qu'il y a une lst qui montre comment trouver un code fantôme en WD10.

Bon dév.,

Totof

Contribution le : 14/09/2006 11:25
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
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