OVH Cloud OVH Cloud

[WD7.5 206g] Redimensionnement de tableau dynamique plante

4 réponses
Avatar
Jean Cougnaud
Bonjour,

J'ai des tableaux dynamiques de structures redimensionnés (assez souvent
dans le programme) avec la commande Dimension(...) et j'ai parfois des
résultats surprenants. On dirait qu'il utilise des allocations mémoires
utilisées déjà par d'autres variables du programme.

Au bout de quelques manipulations j'ai le message inscrit ci-dessous.

Avez-vous eu des problèmes de la sorte ou est-ce mon programme qui déraille.

Cordialement

Jean Cougnaud

----------------------------------------------------------------------------
-----------------------------------------------------------------
" 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 : WD75VM.DLL
Version du module : 7.50Fzk
VI : 01-75206h
Adresse de base : 25E60000
Erreur système : Access violation (GPF)
EIP = 25E93EB4
OS : Windows XP ou .NET Service Pack 1(5.1.2600)

4 réponses

Avatar
Fabrice Burghgraeve
bonjour.

"Jean Cougnaud" a écrit dans le message de
news:4002ae49$0$24028$
Bonjour,

J'ai des tableaux dynamiques de structures redimensionnés (assez souvent


(...)
Au bout de quelques manipulations j'ai le message inscrit ci-dessous.



Quelles manipulations ?

un ch'ti bout de code pour aller avec le message, peut-etre ???

J'utilise les tableaux dynamiques aussi, sans problemes particuliers, mais
il est vrai qu'ils ne sont pas redimensionnés très souvent...


--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD
Avatar
Jean Cougnaud
Bonjour,

C'est assez compliqué pour envoyer un bout de code car il y a de nombreuses
procédures qui s'enchaînent . C'est pour cela que je ne trouve pas
facilement ce qui coince.

En gros, c'est un logiciel de planning . Il y a un tableau de structures
contenant les plages affichées. Lorsque l'on veut couper une plage en 2 on
modifie la première en mettant des valeurs "bidons" dans le tableau et on
agrandit le tableau pour récupérer les nouvelles valeurs. Puis on en créé
une autre pour récupérer les éléments de la deuxième partie de la plage
coupée . On agrandi donc le tableau dynamique pour stocker les informations
de ces nouvelles plages.

On passe des paramètres à une procédure qui ajoute la plage et en suivant au
débogueur les paramètres passés à la procédure, ils changent de valeur lors
du Dimension(...) . Il y a même des variables qui "n'existent" plus pour le
débogueur ...

Cela fait comme si le Dimension(...) utilisait des plages mémoires utilisées
par ces variables et les écrasait.

Sur ma machine (PIII 733, XP Pro, 256Mo de mémoire) cela plante très
fréquemment. Sur celle de mon collègue (processeur plus rapide) presque
jamais :-((

C'est pour cela que je demandais si certains avaient eu des problèmes.

Bon, je vais continuer mes recherches.

Merci de ton intérêt pour ma question.

Jean

"Fabrice Burghgraeve" a
écrit dans le message de news:btub56$g4j$
bonjour.

"Jean Cougnaud" a écrit dans le message de
news:4002ae49$0$24028$
> Bonjour,
>
> J'ai des tableaux dynamiques de structures redimensionnés (assez souvent
(...)
> Au bout de quelques manipulations j'ai le message inscrit ci-dessous.

Quelles manipulations ?

un ch'ti bout de code pour aller avec le message, peut-etre ???

J'utilise les tableaux dynamiques aussi, sans problemes particuliers, mais
il est vrai qu'ils ne sont pas redimensionnés très souvent...


--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD




Avatar
Jean Cougnaud
Bonjour,

Je me réponds, dès fois que cela puisse servir à d'autres.

Le problème venait du passage des paramètres à la procédure qui
redimensionnait le tableau dynamique. Certains paramètres, qui étaient
passés à cette procédure, étaient eux-même des éléments du tableau qui est
redimensionné dans la procédure.

Ce qui est gênant c'est que selon le PC ou sa charge le problème n'est pas
régulier.
En passant pas des variables intermédiaires le problème ne semble plus
apparaitre.


Pour schématiser le problème :

...
AjoutePlage (Tableau[1], Tableau[2],...)
...



-----------------------------------------------------
Procédure AjoutePlage(Element1, Element2,...)
...
i++
Dimension(Tableau,i)
...


Cordialement

Jean Cougnaud



"Fabrice Burghgraeve" a
écrit dans le message de news:btub56$g4j$
bonjour.

"Jean Cougnaud" a écrit dans le message de
news:4002ae49$0$24028$
> Bonjour,
>
> J'ai des tableaux dynamiques de structures redimensionnés (assez souvent
(...)
> Au bout de quelques manipulations j'ai le message inscrit ci-dessous.

Quelles manipulations ?

un ch'ti bout de code pour aller avec le message, peut-etre ???

J'utilise les tableaux dynamiques aussi, sans problemes particuliers, mais
il est vrai qu'ils ne sont pas redimensionnés très souvent...


--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD




Avatar
R&B
Bonjour Jean,

pardon pour le retard...

Existe aussi sous la forme (pour les tableau à une dimension)

Procédure AjouteElement(tTab, Element)
nNb est un entier = Dimension(tTab,Dimension(tTab)+1)
tTab[nNb]=Element
renvoyer nNb

Pour les tableau multidemensionnels, on utilise des tableaux de
structure, cette syntaxe demeurs opérationnelle, seule l'appel aux
cellules difèrent

voir notre classe relative à la gestion des logs qui illustre cela
depuis 18 mois.

@+ R&B, animateur de rbesset.net




Jean Cougnaud wrote:
Bonjour,

Je me réponds, dès fois que cela puisse servir à d'autres.

Le problème venait du passage des paramètres à la procédure qui
redimensionnait le tableau dynamique. Certains paramètres, qui étaient
passés à cette procédure, étaient eux-même des éléments du tableau qui est
redimensionné dans la procédure.

Ce qui est gênant c'est que selon le PC ou sa charge le problème n'est pas
régulier.
En passant pas des variables intermédiaires le problème ne semble plus
apparaitre.


Pour schématiser le problème :

...
AjoutePlage (Tableau[1], Tableau[2],...)
...



-----------------------------------------------------
Procédure AjoutePlage(Element1, Element2,...)
...
i++
Dimension(Tableau,i)
...


Cordialement

Jean Cougnaud



"Fabrice Burghgraeve" a
écrit dans le message de news:btub56$g4j$

bonjour.

"Jean Cougnaud" a écrit dans le message de
news:4002ae49$0$24028$

Bonjour,

J'ai des tableaux dynamiques de structures redimensionnés (assez souvent



(...)

Au bout de quelques manipulations j'ai le message inscrit ci-dessous.



Quelles manipulations ?

un ch'ti bout de code pour aller avec le message, peut-etre ???

J'utilise les tableaux dynamiques aussi, sans problemes particuliers, mais
il est vrai qu'ils ne sont pas redimensionnés très souvent...


--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD