PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Surcharger la fonction Ouvre()
Surcharger la fonction Ouvre()
Débuté par Theo, 31 oct. 2023 14:36 - 3 réponses
Membre enregistré
26 messages
Posté le 31 octobre 2023 - 14:36
Bonjour,

Comment surcharger la fonction Ouvre, svp ?

Procedure Ouvre(NomFenêtre est une chaîne <nom de fenêtre>, *)
Trace(NomFenêtre)
WL.Ouvre(NomFenêtre, MesParamètres[*])

En utilisant le code ci-dessus ca ne fonctionne pas car certaines fenetres ont une valeur de retour et celle ci n'est pas renvoyée à la fonction appelante.

Procedure Ouvre(NomFenêtre est une chaîne <nom de fenêtre>, *)
Trace(NomFenêtre)
RENVOYER WL.Ouvre(NomFenêtre, MesParamètres[*])

En utilisant celui ci ca ne fonctionne pas non plus car certaines fenetres ne renvoient rien, windev plante en expliquant qu'il attend une valeur de retour.

Procedure Ouvre(NomFenêtre est une chaîne <nom de fenêtre>, *)
Trace(NomFenêtre)
QUAND EXCEPTIONEXCEPTION DANS
RENVOYER WL.Ouvre(NomFenêtre, MesParamètres[*])
FAIRE
FIN

Et alors là, la surcharge n'est jamais appelée.
Membre enregistré
549 messages
Posté le 31 octobre 2023 - 15:09
Bonjour,
je ne sais pas si ma réponse a été effacée donc je réitère.
je n'ai pas essayé mais si je comprends bien la doc, il ne faut pas faire précéder par WL.

la doc dit :
Différencier la fonction WLangage et la fonction personnalisée
Si vous avez surchargé une fonction WLangage, pour utiliser la fonction originale, il suffit de préfixer le nom de la fonction par les lettres WL.

https://doc.pcsoft.fr/fr-FR/?surcharger-une-fonction-wlangage-utiliser-une-fonction-wlangage-dans-une-requete-sql
Cdlt
Message modifié, 31 octobre 2023 - 15:09
Membre enregistré
26 messages
Posté le 31 octobre 2023 - 15:43
En activant la gestion des exceptions de la fonction, ca fonctionne :





// Traitement automatique des exceptions : exécuter le bloc de code CAS EXCEPTION:
Procedure Ouvre(NomFenêtre est une chaîne <nom de fenêtre>, *)
Trace(NomFenêtre)
RENVOYER WL.Ouvre(NomFenêtre, MesParamètres[*])
CAS EXCEPTION:
Membre enregistré
26 messages
Posté le 31 octobre 2023 - 16:50
_
Message modifié, 31 octobre 2023 - 17:17