Problème compilation en code Natif

Résolu
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 14 déc. 2005 à 17:39
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 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)

9 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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/
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 déc. 2005 à 01:51
salut,

umm, au risque de dire une connerie.... l'évènement Change du Combo n'est pas utilisé?

à supposer qu'il le soit, peut-être tes instructions sont lancées pendant que tu le remplies.... (trop tôt)

bon week-end^^

PCPT [AFCK]
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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/
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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/
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 déc. 2005 à 11:47
PCPT et Dark, je vous zadore !

En effet, il y a une action dans le Combo_Click.
Rien de bien compliqué, mais avec le SubClassing/Hooking, ça faisait des appels dans tous les sens.

Mais (il y a toujours un 'mais'), je ne comprends pas que ça fonctionnait quand même en mode Création et en compilation P-Code ... mystère ...

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)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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/
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 déc. 2005 à 13:54
... pourtant, j'ai changé les piles récemment. (humour à deux <STRIKE>balles</STRIKE> euros)

Ok, en effet. Merci de cette précision Dark.
0
Rejoignez-nous