PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Composant interne et état paramétré
Composant interne et état paramétré
Started by MeMess, Oct., 12 2019 11:19 AM - 2 replies
Registered member
191 messages
Popularité : +3 (3 votes)
Posted on October, 12 2019 - 11:19 AM
Bonjour,

Afin de partager des états entre un projet windev et webdev, je les mets dans un composant interne et je mets tout notre petit monde sur le gds.
Mais lorsque j'appelle un de ces états paramétrés en windev ou webdev, j'ai un message d'erreur

Mon code en windev :
iAperçu(iPage, "", Vrai)
iInitRequêteEtat(EtatFacture,NumFacture)
iImprimeEtat(EtatFacture)


L'erreur :
Vous avez appelé la fonction iImprimeEtat.
Impossible d'imprimer l'état CIEtatsFacture.EtatFacture : on attendait l'impression d'un autre état. Ce problème se produit généralement dans les cas suivants :
- Vous tentez d'imprimer un état imbriqué alors que l'état principal n'a pas commencé à s'imprimer.
- Vous avez fait un iInitRequêteEtat, non suivi d'une impression de cet état.
- Vous n'avez pas fait les iInitRequêteEtat dans l'ordre d'impression.

CIEtatsFacture est le nom de mon composant mais je ne peut pas l'appeler à partir de mon code.
La requête appelée par l'état est aussi dans le composant.
Je n'utilise pas d'état imbriqué.

Auparavant tout fonctionnait, mais depuis que ces états sont en composant interne, j'ai le souci...

Merci d'avance.

Franck
Registered member
506 messages
Popularité : +18 (18 votes)
Posted on October, 14 2019 - 10:13 AM
Bonjour,

Voici une suggestion, faite dans la précipitation, donc sans certitude.
Ce qui me fait réagir c'est ce message d'erreur où apparaît le nom de l'état MAIS préfixé par le nom du composant interne
CIEtatsFacture.EtatFacture


J'utilise fréquemment les composant externes. En revanche, je ne pratique pas trop les composants Internes parce qu'ils ont un énorme défaut (selon moi) : ils ne définissent pas leur propre espace de noms.

En clair, les noms des éléments contenus dans un composant interne peuvent entrer en conflit avec les noms des autres éléments du projet.
Dans le code du projet, on ne peut pas préfixer un élément du composant interne par le nom de ce composant, pour gérer une éventuelle homonymie.

Il faut utiliser le nom de l'élément tel quel, sans préfixe.

Bon dév !

--
Pour me contacter par courrier électronique, cliquez sur le lien ci-dessous (protection antispam): http://cerbermail.com/…
Registered member
191 messages
Popularité : +3 (3 votes)
Posted on October, 14 2019 - 6:52 PM
Bonjour,

Et oui, mais c'est bien sur... mais non ;-)

J'avais essayé déjà de rentrer "CIEtatsFacture.EtatFacture" mais l'éditeur me refuse la syntaxe :-(

J'aimerais pourtant trouver un moyen de synchroniser ces éléments entre mes 2 projets.

Merci tout de même, Une autre idée ?