PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV (précédentes versions) → [WD1.5]Pageaffiche
[WD1.5]Pageaffiche
Débuté par Mike, 04 juil. 2003 12:04 - 2 réponses
Posté le 04 juillet 2003 - 12:04
Je n'arrive pas à comprendre pourquoi mon page affiche ne fonctionne pas.

J'ai une page avec des boutons précédent et suivant (qui affiche la page en
cours en lui passant un paramètre).

Voici mon code d'initalisation de ma page

Procedure NouvellePiece (numpce="")
SI numpce = "" ALORS
// traitement nouvelle pièce
SINON
// Recherche de la pièce et affichage de celle-ci
FIN


Dans mes boutons suivant et précédent j'ai mis ceci (ci dessous le bouton
suivant)

stsuiv est une chaine
Exécute("MODIFIER..CLIC")
stsuiv="ST"+(Val(Milieu(numpce,3))+1)
PageAffiche("stnouvellepiece",stsuiv)

Quand je fait mon test en debug, stsuiv contient bien le numéro de pièce
suivant, puis, fatalement je retombe sur le code d'initialisation de la
page, et la, numpce est égal à "" alors que mon paramètre stsuiv contient
bien une valeur

Vous avez une solution ?

Mike
Posté le 04 juillet 2003 - 13:11
slt Mike

et si tu écrits :

Procedure Fen(numpce="") au lieu de Procedure NouvellePiece (numpce="")

De plus tu parles de code d'initialisation de page : est-ce bien le code
d'ouverture de la page (serveur) ??

Sinon je te conseil d'utiliser un champ invisible si tu ne réussis pas.

Alain V

"Mike" <michael.brouwers@joskin.com> a écrit dans le message de news:
3f054098@news....
Je n'arrive pas à comprendre pourquoi mon page affiche ne fonctionne pas.

J'ai une page avec des boutons précédent et suivant (qui affiche la page

en
cours en lui passant un paramètre).

Voici mon code d'initalisation de ma page

Procedure NouvellePiece (numpce="")
SI numpce = "" ALORS
// traitement nouvelle pièce
SINON
// Recherche de la pièce et affichage de celle-ci
FIN


Dans mes boutons suivant et précédent j'ai mis ceci (ci dessous le bouton
suivant)

stsuiv est une chaine
Exécute("MODIFIER..CLIC")
stsuiv="ST"+(Val(Milieu(numpce,3))+1)
PageAffiche("stnouvellepiece",stsuiv)

Quand je fait mon test en debug, stsuiv contient bien le numéro de pièce
suivant, puis, fatalement je retombe sur le code d'initialisation de la
page, et la, numpce est égal à "" alors que mon paramètre stsuiv contient
bien une valeur

Vous avez une solution ?

Mike


Posté le 04 juillet 2003 - 13:51
Je n'ai pas la réponse à la question, mais une solution de rechange consisterait
à déporter tes 2 traitements (nouvelle pièce / pièce existante) dans des
fonctions.

A partir de là, il suffit d'appeler la fonction correspondante juste avant
de faire un pageactualise().

Je pense que le problème vient du contexte de page qui existe déjà sur le
serveur. Quand tu fais un Pageaffiche() d'un contexte existant la page n'est
pas rechargée en mémoire, il se contente d'exécuter le code d'ouverture.

Essai peut-être de rajouter LOCAL juste avant la déclaration de STSUIV...
par défaut, il semble que les variables déclarées en ouverture de page soient
globales à la page, et comme le contexte existe déjà...


"Mike" <michael.brouwers@joskin.com> wrote:
Je n'arrive pas à comprendre pourquoi mon page affiche ne fonctionne pas.

J'ai une page avec des boutons précédent et suivant (qui affiche la page

en
cours en lui passant un paramètre).

Voici mon code d'initalisation de ma page

Procedure NouvellePiece (numpce="")
SI numpce = "" ALORS
// traitement nouvelle pièce
SINON
// Recherche de la pièce et affichage de celle-ci
FIN


Dans mes boutons suivant et précédent j'ai mis ceci (ci dessous le bouton
suivant)

stsuiv est une chaine
Exécute("MODIFIER..CLIC")
stsuiv="ST"+(Val(Milieu(numpce,3))+1)
PageAffiche("stnouvellepiece",stsuiv)

Quand je fait mon test en debug, stsuiv contient bien le numéro de pièce
suivant, puis, fatalement je retombe sur le code d'initialisation de la
page, et la, numpce est égal à "" alors que mon paramètre stsuiv contient
bien une valeur

Vous avez une solution ?

Mike