cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
14 déc. 2005 à 17:39
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
15 déc. 2005 à 13:54
Salut à tous
J'ai un souci avec une grosse application industrielle en VB6.
Ce projet fonctionne depuis 5 ans et je fais de petites corrections de temps en temps.
Depuis deux semaines, alors que je n'ai changé qu'un Caption, le code compilé en Natif gèle (pas de réponse).
Dès que je veux afficher une nouvelle forme, en plein milieu du Form_Load, figeage.
En installant des pièges, j'ai trouvé où il merdouille, mais rien de transcendant : uneListBox.ListIndex = x
Le figeage ne vient pas du code proprement dit.
J'ai compilé sous Windows NT4 et sous 2000 Pro, même problème.
J'ai vérifié les limitations de VB6 mais j'en suis encore loin. (d'ailleurs, je vous traduirais ces limites dans une prochaine source dans "Trucs et astuces")
Par contre, en dernier recours, j'ai fait un essai de compilation en P-Code (interprété), et là, ça semble fonctionner.
Qqun aurait-il déjà entendu parlé de bug en Natif ?
Une idée ?
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 14 déc. 2005 à 20:32
Oui donc sûrement un problème avec ta fonction de traitement des
messages sur-classée : tu doit faire une boucle infinie, ou alors faire
des appels récursifs.
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 14 déc. 2005 à 17:50
Salur,
Tu peux toujours essayer de contacter microsoft voir s'ils ont prévu un SP7 à VB6...
Combien d'élément possède ton listbox avant le gel de ton application ? Quelle est l'encobrement mémoire de ton prog à ce moment là ? Et la charge CPU ?
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 déc. 2005 à 20:05
Salut Dark (tu permets que je t'appelle par ton prénom ?) lol
Non, la ListBox n'a que 5 éléments et je pense que le plantage n'a pas de lien avec ce code.
L'encombrement mémoire : Je viens de regarder : 9440 ko (stable), rien à côté des 50Mo de chaque cession de IE. Juste deux formes affichées à l'écran, pas de données à outrance dans les variables.
La charge CPU : 50% (stable) quand même ... bizarre, je me demande bien ce qu'elle peut faire ...
Le temps UC augmente, donc il se passe qqchose quand même ...
Pour être complet, cette application utilise du SubClassing et du Hooking, mais tout ceci était présent avant les problèmes.
Je vais quand même tenter de démonter ce genre de programme, on ne sait jamais.
Bizarre tout ça, bizarre.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 14 déc. 2005 à 20:12
scrupte les messages interceptés par ta fonction de fenêtre lors de
la sélection d'un item du listbox : regarde si tu ne fait pas une
boucle infinie par exemple... ca peut être une piste.
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 déc. 2005 à 20:21
Lol, tu vas rire, mais le plantage a lieu dans le Form_Load, lors de l'entrée dans le ComboBox des 5 tailles de police que je propose à l'utilisateur.
La forme n'a donc pas encore été mise à la disposition de l'utilisateur (elle n'est pas affichée d'ailleurs)
Mais je vais approfondir côté Hook/SubClass.
Moi, je sais ce que je vais faire ce week-end ... lol
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 15 déc. 2005 à 12:25
en mode création et en P-Code, VB garde la main un minimum sur les fonctions de fenêtre (c'est sûrement pour cà que c'est très instable lorsqu'on redéfinit la fonction de message), et il devait interrompre la boucle à un moment donné (dépassement de pile par exemple), alors qu'une fois compilé, il y a moins de protection, forcément.
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/