procédure perso1 |
lguenhael
Administrateur
|
Bonjour,
Pour que ça fonctionne, il vous faut remplacer « i » par « tab1.i » et mettre en entrée "tab1*table" après "debproc perso1" car, bien que ça puisse fonctionner sans, il est préférable de donner un nom à la table d’entrée envoyée par la procédure PASAPAS lors de l’appel à la procédure PERSO1. Cela devient presque incontournable lorsque par exemple, vous avez plusieurs procédures PASAPAS consécutives qui utilisent des noms de tables différents et pour autant font appel à la même procédure PERSO1. Exemple :
Cordialement. |
||||||||||||||
|
martine
|
Merci,
En fait, en utilisant i = dime tab1.temps, on voit bien que i est incrémenté à chaque pas dans la procédure. Par contre, lorsque la procédure est finie et qu'on retourne dans la suite du calcul pasapas, la valeur de i incrémentée est "oubliée". Si bien que lorsque tout le calcul pasapas est terminé, i vaut encore 0. Ma question est plutôt de savoir comment faire pour que les variables que je mets à jour dans la procédure soient bien prises en compte dans la suite du calcul pasapas. Quelqu'un m'a dit que ça avait à voir avec Castem 2008. Il faudrait utilisé wtab = tab1.'WTABLE' mais ça ne marche toujours pas... Et j'ai bien utilisé tab1*table après debproc... Merci quand même, |
||||||||||||
|
lguenhael
Administrateur
|
Bonjour,
Certes « i » est incrémenté mais cependant, « i » n'est pas sensé l’être car il n’est pas sensé être connu dans votre procédure ne faisant pas parti des entrées. Il faut bien regarder le fonctionnement des procédures (voir l'aide sur l'opérateur DEBPROC) et se dire que pour qu’une variable externe à la procédure (par exemple « i ») puisse être utilisée dans cette procédure, il faudrait qu’elle soit indiquée en entrée. Mais Cast3m ne demande pas tant de rigueur et connait « i » malgré que cette variable ne soit pas indiquée en entrée. En revanche, pour que « i » soit modifié en sortie et bien il faut qu’il soit indiqué en sortie justement. Et là Castem vous oblige à le faire puisque comme vous pouvez le constater, « i » reste à 0 sinon. Pour donner « i » en entrée et le récupérer en sortie il faudrait donc modifier les entrées/sorties de PERSO1 et adapter en conséquence l’appel à PERSO1 dans PASAPAS. Cependant il y a plus simple car PASAPAS fait appel à PERSO1 avec en entrée et sortie une table. Il suffit alors de placer i dans cette table et aucune modification de PASAPAS n’est nécessaire. Ce n’est pas forcément très simple à expliqué. J’espère que cela vous aura aidé. Pour wtab, je vous déconseille de l'utiliser. Cordialement. |
||||||||||||
|
procédure perso1 |
|
||
Powered by phpBB Forum © phpBB Group
Design by phpBBStyles.com | Styles Database.
Content © RDforum.free.fr/Cast3M
Design by phpBBStyles.com | Styles Database.
Content © RDforum.free.fr/Cast3M