Accueil > Forum > > > > gestion exception "stack overflow at line : 0"
gestion exception "stack overflow at line : 0"
vendredi 26 mars 2004 à 16:54:34 |
gestion exception "stack overflow at line : 0"

ellandebasque
|
Bonjour, je fais un prog qui affiche des images à partir d'un répertoire donné par le clic sur le treeview. Tout fonctionne bien, sauf lorsque l'on clique comme un malade sur l'arbre, au bout d'un moment le message d'erreur "stack overflow at line : 0". J'utilise un code qui me permet de dire que ce débordement de pile n'est pas dû au nombre d'images à afficher ni à la taille du code qu'il a à mettre en mémoire (n fois). Je pense plus à un pb de gestion des événements. Ceci dit comment régler ce pb ? Comment lever cette exception ? (try catch sur tout le code ?) Merci de m'aider. De
|
|
samedi 27 mars 2004 à 07:48:03 |
Re : gestion exception

bultez
|
Bonjour ce genre de problème est souvent du à une fonction que l'on appelle de manière récursive indéfiniment. je pencherais donc plutôt pour rechercher une erreur de logique de ce type. maintenant un petit bout de code nous aiderait. Cordialement. Bul.
|
|
lundi 29 mars 2004 à 09:50:23 |
Re : gestion exception

ellandebasque
|
Voici ma fonction permmettant la gestion de l'affichage des images. Cette fonction est appelée sur l'événement clic sur l'arbre. J'ajoute la fonction permettant l'affichage du "picto", qui est appelée depuis cette fonction.
// permet d'afficher les picto d'un répertoire // création à la volée d'un tableau dans lequel sera affiché les picto function PrintPictoFromFolder(folder) { window.parent.SetWaitCursor(true); var tabExtensions = getExtensionSelected();
// indice de la colonne courante du tableau var col = 0;
// largeur/hauteur de la cellule --> Dans le fichier .css
// CellSpacing entre les cellules var iCellSpacing = "5px";
// objet du tableau var oCell; // cellule var oRow; // ligne
while (window.parent.feuillegauche.TreeView.Nodes(window.parent.feuillegauche.TreeView.getAttribute("selectedNodeIndex")).key == folder.Path) { var iPictoParCol = getMaxPictoByLine();
viderFrame(); var oFiles = folder.Files; enumFiles = new Enumerator(oFiles); var oTable = document.createElement("table"); oTable.style.border = 1; oTable.cellspacing = iCellSpacing; oTable.align = "center"; oTable.id = "tImages"; document.body.appendChild(oTable);
var oTBody = document.createElement("tbody"); oTBody.vAlign = "middle"; oTable.appendChild(oTBody);
// variable qui va servir à savoir si l'on affiche une image ou pas // si on en affiche pas, on met une image nous même pour dire qu'il n'y en a pas var compteurImages = 0;
for (; !enumFiles.atEnd(); enumFiles.moveNext()) { setTimeout("", 50); if (window.parent.feuillegauche.TreeView.Nodes(window.parent.feuillegauche.TreeView.getAttribute("selectedNodeIndex")).key != folder.Path) { break; } File = enumFiles.item(); if (testExtension(File, tabExtensions) == true) { compteurImages++;
// cas où on a pas encore crée de ligne (début de la création) if (col == 0) { oRow = document.createElement("tr"); oTBody.appendChild(oRow); col++; } else { // si on arrive au max de picto pour la ligne, on crée une autre ligne if (col == iPictoParCol + 1) { col = 1; oRow = document.createElement("tr"); oTBody.appendChild(oRow); } }
oCell = document.createElement("td"); if (rAffichageGd.value == "true") oCell.className = "clsCellNormalGd"; else oCell.className = "clsCellNormalPt";
oCell.setAttribute("cell", oCell); oCell.attachEvent('onclick', fnOnClickCell); oCell.attachEvent('ondblclick', fnDblClickCell); oCell.vAlign = "middle"; oRow.appendChild(oCell);
// on cherche à savoir si on affiche l'extension des fichiers var bAfficherPicto; if (bAfficherPicto != true && bAfficherPicto != false) bAfficherPicto = true; else bAfficherPicto = window.dialogArguments.bAfficheExtension;
if (rAffichageGd.value == "true") var iTailleImage = "100"; else var iTailleImage = "25";
// ajout d'une image iImg = new Image; iImg.src = File.Path; AttendreFin(iImg); pictoCreate(iImg, oCell, bAfficherPicto, iTailleImage);
col++; } }
window.parent.WndUtl.SendDbgMessage( "Dans PrintPictoFolder : " + window.parent.feuilledroite.document.body.getAttribute("affichageCommence") + "\n" ); if (window.parent.feuillegauche.TreeView.Nodes(window.parent.feuillegauche.TreeView.getAttribute("selectedNodeIndex")).key == folder.Path) { break; } else { if (fso.FolderExists(window.parent.feuillegauche.TreeView.Nodes(window.parent.feuillegauche.TreeView.getAttribute("selectedNodeIndex")).key)) folder = fso.getFolder(window.parent.feuillegauche.TreeView.Nodes(window.parent.feuillegauche.TreeView.getAttribute("selectedNodeIndex")).key); } }
if (compteurImages == 0) { document.body.style.backgroundImage = "url(Images/pasdimage.gif)"; document.body.style.backgroundRepeat = "no-repeat"; document.body.style.backgroundPosition = "center center"; } //window.parent.feuilledroite.document.body.setAttribute("affichageCommence", false); window.parent.SetWaitCursor(false); bCancel = false; }
// ajoute un picto à la cellule function pictoCreate(iImg, oCell, bAfficherExtension, iTailleImage) { var oTable = document.createElement("table"); oCell.appendChild(oTable);
var oTbody = document.createElement("tbody"); oTbody.className = "clsTBodyLibNormal"; oTable.appendChild(oTbody);
// ligne du tableau qui contiendra l'image var oTr, oTd1, oTd2; oTr = document.createElement("tr"); // on fixe la taille de ce TR pour éviter que l'image ne bouge if (rAffichageGd.value == "true") oTr.className = "clsTrImageGd"; else oTr.className = "clsTrImagePt"; oTbody.appendChild(oTr);
oTd1 = document.createElement("td"); oTd1.vAlign = "middle"; oTd1.align = "center"; oTr.appendChild(oTd1);
var iWidth = parseInt(iImg.width); var iHeight = parseInt(iImg.height);
var oImage = document.createElement("<v:image>");
oImage.src = iImg.src; oImage.style.visibility = "visible"; oImage.border = "0";
if (iWidth > iHeight) { oImage.style.width = iTailleImage; oImage.style.height = (iHeight * iTailleImage) / iWidth; } else { oImage.style.height = iTailleImage; oImage.style.width = (iWidth * iTailleImage) / iHeight; }
//oImage.title = getAffichageFileName(File); oTd1.appendChild(oImage);
// nouvelle ligne pour mettre l'intitulé de l'image oTr = document.createElement("tr"); oTbody.appendChild(oTr);
oTd2 = document.createElement("td"); oTd2.vAlign = "bottom"; oTd2.align = "center"; oTr.appendChild(oTd2);
var oDiv = document.createElement("div"); if (rAffichageGd.value == "true") oDiv.className = "clsDivNormalGd"; else oDiv.className = "clsDivNormalPt"; oDiv.title = getAffichageFileName(File); oTd2.appendChild(oDiv);
var noBr = document.createElement("noBR"); noBr.className = "clsNoBRnormal"; noBr.innerText = getAffichageFileName(File); oDiv.appendChild(noBr); window.parent.WndUtl.SendDbgMessage( "PictoCreate()\n" ); }
De
|
|
lundi 29 mars 2004 à 09:52:56 |
Re : gestion exception
|
lundi 29 mars 2004 à 09:53:23 |
Re : gestion exception
|
lundi 29 mars 2004 à 09:53:37 |
Re : gestion exception
|
lundi 29 mars 2004 à 09:55:05 |
Re : gestion exception
|
mardi 30 mars 2004 à 15:24:00 |
Re : gestion exception

bultez
|
Bonjour un petit bout de code un extrait simplifié au maximum, [ là, ça ne donne pas envie de regarder ] et ça permet parfois de trouver la solution, l'erreur, tout seul. Cordialement. Bul.
|
|
Cette discussion est classée dans : gestion, exception, at, stack, overflow
Répondre à ce message
Sujets en rapport avec ce message
problème avec stack overflow at line... [ par thunderbolt ]
Bonjour tout le monde, j'ai un petit problème...Il m'apparait une fenêtre d'alerte dans laquelle est marqué le message :"Stack overlow at line 21"...T
verifier si a est divisible par b et stack overflow [ par gatita_dev ]
Rebonjour, je vois que c pas ma journée aujourd'hui, encore un problème.je veux vérifier si un nombre a est divisible par b, donc j'ai utilisé le fame
pb de stack overflow [ par kaskran ]
salut, je travaille sous asp.net, et je veux utiliser a l'aide de javascript une bete fonction contenant un "confirm" pour confimer un effacement. Cep
Gestion dates [ par papuli_a ]
Bonjour,Je travail sur un module de reservation de chambers pour un hotel.Le module fait appel à un fichier javascript afin d?afficher les jours de ré
gestion de serveurs [ par 123456789123 ]
salut .je voudrai ajouter a mon site un module de gestion de serveur de jeux ( steam ) mais le probleme , c'est que je n'y connai absolument rien ...s
Le logiciel de gestion de projet PSN et javascript [ par macaro ]
salutJ'aimerais savoir si quelqu'un a déjà utilisé javascript sur ce logiciel et des sites pour pour m'aider en javascriptMerci d'avance Macaro</font
Gestion d'erreur [ par hasnaa ]
j'aimerai savoir comment on peut vérifier les données saisies dans un champs s'ils sont numérique ou non, tenant compte que le champs est un numéro de
Gestion d'images en javascript ... [ par Alain62 ]
Voila, dans ma page internet, j'ai une balise toute simple : et je voudrai que lorsque l'utilisateur clique sur cette image, celle-ci change,(pour all
Gestion des cookies [ par Jackboy ]
J'aimerai avoir un petit truc, dans mon site je créer un cookie pour savoir si l'utilisateur a voter a mon sondage et si oui, il ne peut plus voter, m
gestion de l'affichage d'un bouton par javascript [ par satd ]
Est-il possible de gérer le placement d'un bouton sur une page HTML avec javascript, de sorte que lorsque javascript est inactivé le bouton n'apparait
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|