PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Votre code a provoqué un dépassement de la pile d'exécution.
Votre code a provoqué un dépassement de la pile d'exécution.
Iniciado por jmsouchez, 10,ene. 2019 16:57 - 2 respuestas
Publicado el 10,enero 2019 - 16:57
Bonjour à tous,

Avec la dernière mise à jour de Windev 23 01F230053k, j'ai l'impression que les requêtes SQL complexes ne sont plus supportées et provoque le message d'erreur suivant :

Votre code a provoqué un dépassement de la pile d'exécution.
Code erreur : 1058
Niveau : erreur fatale
Dump de l'erreur du module 'wd230vm.dll' (23.0.370.1).
Identifiant des informations détaillées (.err) : 1058
Informations de débogage :
vm.cpp, 1225
WLanguage stack overflow


La requête fonctionnait avec la précédente version (et fonctionne dans le HFSQL) :
SELECT DISTINCT FICHIER1.CHAMP1, FICHIER1.CHAMP2, FICHIER1.CHAMP3, FICHIER1.CHAMP4
FROM FICHIER2 RIGHT JOIN (FICHIER1 LEFT JOIN FICHIER3 ON FICHIER1.CHAMP3 = FICHIER3.CHAMP1) ON FICHIER2.CHAMP1 = FICHIER1.CHAMP4
WHERE FICHIER1.CHAMP2 = 'xxxxx'
GROUP BY FICHIER1.CHAMP1, FICHIER1.CHAMP2, FICHIER1.CHAMP3, FICHIER1.CHAMP4
ORDER BY FICHIER1.CHAMP4

Une idée, s'il vous plait ?
Merci.
Publicado el 11,enero 2019 - 11:21
Bonjour,

J'ai une autre requête bien plus simple qui plante aussi.
Mon code source parcours les lignes d'une table et en fonction de la colonne "Code", recherche la correspondance dans une table HFSQL :
ReqLec est une source de donnée
LocLec est une chaine
POUR TOUTE LIGNE DE Table
LocLec = "SELECT * FROM FICHIER WHERE Code = '"+Table.COL_CODE+"'"
SI PAS HExécuteRequêteSQL(ReqLec, MaConnexion, hRequêteSansCorrection,LocLec) ALORS
//LE PLANTAGE EST ICI !
Info("Erreur exécution requête LocLec : " + HErreurInfo() + RC + SQL.MesErreur + RC + LocLec)
SINON
HLitPremier(ReqLec)
TANTQUE PAS HEnDehors()
HLitSuivant(ReqLec)
FIN
FIN
SI PAS HAnnuleDéclaration(ReqLec) ALORS
Info("Erreur en annulation de la déclaration de la requête LocLec : " + HErreur() + RC + SQL.MesErreur + RC + LocLec)
FIN
FIN
*************************
Votre code a provoqué un dépassement de la pile d'exécution.
Code erreur : 1058
Niveau : erreur fatale

Dump de l'erreur du module 'wd230vm.dll' (23.0.370.1).
Identifiant des informations détaillées (.err) : 1058
Informations de débogage :
vm.cpp, 1225
WLanguage stack overflow

Une idée s'il vous plait ?
Merci.
Publicado el 11,enero 2019 - 11:52
C'est bon j'ai trouvé : il s'agissait d'une erreur de ma part.
J'ai modifié la déclaration d'un fichier en ajoutant une clé "doublon" sur un champ et la modification n'a pas été effectuée sur le fichier HFSQL : d'où les erreurs rencontrées qui j'avoue n'avaient rien à voir avec le réel problème !
Poste clos.