Bonjour à tous,
Suivant la documentation windev (surcharge : http://doc.pcsoft.fr/?1513004 et HExécuteRequête : http://doc.pcsoft.fr/fr-FR/?3044080), j'ai tenté de surcharger la fonction WLangage HExécuteRequête, cependant je tombe sur un os, mais je ne sais pas comment le résoudre...
Voici ma procédure toute simple (afin de tester pour commencer) :
PS : J'avais mis au départ le premier paramètre en chaine, mais mes appels à la fonction ne passe jamais (d'où la trace).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 PROCEDURE HExécuteRequête(NomDeLaRequête est une Source de Données, Mode est un entier = hRequêteDéfaut, *) : booléen WL.Trace("passe ici") RENVOYER WL.HExécuteRequête(NomDeLaRequête,Mode,MesParamètres[3 A ])
L'exécution de cette procédure globale se passe bien, le WL.HExécuteRequête renvoie même Vrai ! Une fois sorti de la procédure, le parcours des enregistrements fait planter mon application avec l'erreur suivante :
Cela me laisse perplexe car l'exécution se passe bien (contraitement à ce qu'indique l'erreur)... Cependant, je pense que je m'y prends certainement mal...Exception :
Le mécanisme de sécurité HFSQL s'est déclenché lors d'un parcours intégré du fichier 'REQ_MaRequête' sur la rubrique ''.
La source de données <REQ_MaRequête> n'est pas initialisée.
- S'il s'agit d'un fichier de données, le fichier n'a pas été trouvé dans l'analyse <C:\Projets\MonProjet\MonAnalyse.wdd> ou n'a pas été décrit avec les fonctions HDéclare / HDéclareExterne.
- S'il s'agit d'une requête ou d'une vue, l'exécution a peut-être échoué.
Pour récupérer l'erreur correspondante, testez le résultat des fonctions HExécuteRequête / HExécuteRequêteSQL / HCréeVue.
Voici l'appel de ma procédure en quelques lignes :
Pour info, MaRequête est une requête créée sous l'éditeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SI HExécuteRequête(MaRequête) ALORS POUR TOUT MaRequête <exécution> FIN FIN
Avez-vous une idée de comment faire ? J'imagine que certains ont déjà surchargé cette méthode afin de faire une gestion d'erreur ou quelque chose comme ça ?
Merci d'avance !
Partager