mes formulaires se passent tout sauf les entier.. - C#/.NET managed - Programmation
Marsh Posté le 01-04-2005 à 17:55:03
oui, il faut faire précéder le paramètre à passer en référence du mot clé 'ref'
Marsh Posté le 01-04-2005 à 18:08:40
c'est fait... j'ai donc 3 arraylist qui fonctionne sans problème, et mon entier K qui ne semble pas communiquer correctement
Form3 Choix = new Form3(ref aNom, ref aCourriel, ref indicateur, ref K, ref reminder);
Form2 Fiche = new Form2(ref aNom, ref aCourriel, ref indicateur, ref K, ref reminder);
K est donc déclaré dans le formulaire 1
et les formulaire 2,3,4 et 5 contiennent chacun un int k=K dans leur constructeur respectif
ces 2 'k' représente en fait l'indice de mes Array, c'est donc important qu'il soit pareil partout
donc chaque formulaire qui modifie petit 'k' devrait normalement affecter sa nouvelle valeur au grand 'k' du formulaire 1
mais lorsque je passe du formulaire 3 au 2 par exemple, la valeur de k se perd quelque part..
le pire c'est qu'en utilisant un tableau de 1 case qui contient cet index 'k', le transfert entre les différent formulaire s'effectue correctement..
bizarre ..
Marsh Posté le 05-04-2005 à 14:40:06
Faut faire super gaffe avec les Ref Moi j'utiliserais plutôt une variables Static dans un des formulaires
Marsh Posté le 05-04-2005 à 14:54:00
hum... je ne suis pas sûr qu'utiliser des variables statiques dans des formulaires web soit une super bonne idée... en mono utilisateur ok, mais dès l'apparition du multi ca va faire des effets de bord assez space
Marsh Posté le 05-04-2005 à 15:13:24
oups, il m'avait semblé... en fait, il ne le dit pas. c'est l'habitude qui m'a fait penser ça... En tout cas web pas web c'est la même histoire, si son formulaire peut apparaitre plusieures fois, c'est pas top
Marsh Posté le 05-04-2005 à 15:20:58
Comme dit, donc j'utiliserais une propriété statique qui retournerait l'entier qu'il veut...
Marsh Posté le 05-04-2005 à 15:40:34
j'ai deux utilisateurs qui en meme temps modifie le K de mon premiers formulaire: le premier met k à 1 et le second k à 2. Avec une propriété static, le K retourné sera le dernier modifié et l'un des deux utilisateur n'aura pas le k voulu. j'veux pas troller non plus, mais moi j'ai compris le pb comme ça
Marsh Posté le 05-04-2005 à 15:54:20
j'en sais rien non plus, je ne fais que conjecturer : mais comme dit dans mon premier post, en mono-utilisateur c'est ok
Marsh Posté le 05-04-2005 à 22:48:37
cool des réponses !!!
héhé, mon programme est terminé mais j'ai toujours pas réussit à passer un entier en référence dans le constructeur, j'ai donc utilisé un tableau qui contient l'entier, c'Est pas top mais ca fonctionne
en fait c'est une application mono-utilisateur qui contient 5 formulaires. Les formulaires 1 et 3 peuvent lancer le formulaire 2, les formulaire 3 et 2 peuvent modifier le 1, et le 4 lance le 5 selon les valeurs de 1 ou de lui-même.
utilisant la méthode ShowDialog, aucun formulaire n'entre en conflit avec d'autres. Chaque formulaire est ainsi fermé aussitôt qu'il en appelle un autre. Aucun conflit possible donc, dans les modifications de variable.
le problème est donc assez loufoque. Au début, lors d'utilisation d'entier passé en référence, j'ai cru à un problème d'algo, assez déplaisant lorsqu'on croit avoir terminé..
puis en utilisant un tableau ou alors un arraylist de UNE CASE QUI CONTIENT UN PUTAIN D'ENTIER (désolé ), bien l'entier fonctionne à merveille....
donc j'abandonne..
j'essaie maintenant de construire un tableau d'arraylist, assez complexe je crois, et nul part je n'ai vu de howto là dessus. Croyez vous que c'est possible ?
je me crée un tableau d'object qui contient des arraylist, et ca compile, mais ca plante systématiquement à l'insertion d'une valeur. Si j'en crois mes bouquin c'Est normal et je dois me créer une classe, et même problème, je n'ai pas trouvé de howto là dessus, il me manque des bases en C# je crois, malgré tout mes bouquins, mes pdf et mes faq, en sus de msdn, je ne m'en sors pas.
merci encore d'Avoir répondu, je ne suis pas pressé, j'ai toute la vie pour apprendre à 'bien' programmer
---------------------------------------------------
sauvez du code, pas du temps !
---------------------------------------------------
Marsh Posté le 06-04-2005 à 00:37:06
héhé..
il stocke un index relatif à l'arraylist en cours d'utilisation
donc si avec le formulaire 3 je sélectionne l'élément 2 d'un arraylist stocké dans le formulaire 1, le formulaire 2 est appelé et me permet entre autre de modifier ou supprimer le contenu stocké à cet index. Les 3 formulaire doivent donc en tout temps avoir accès à l'index 'actif' disons, de même qu'au contenu des arraylist ca va de soi.
en tout c'est 2 arraylist, 2 string et 1 entier qui se passe par référence du formulaire 1 vers les formulaires {2,3,4 et 5}
Marsh Posté le 06-04-2005 à 09:01:10
Bah tu met une propriété readonly dans le formulaire 1, et tu passe ton formulaire 1 à tes autres formulaires
Marsh Posté le 01-04-2005 à 17:38:59
en C# sous Visual Studio
j'ai un projet multi-form qui jongle avec pas mal de données
jusqu'ici je passais des array et des tableau par référence sans problème dans le constructeur de tout mes formulaires.. là j'essaie avec un entier et ça foire... donc j'utilise temporairement un array qui ne contient que la valeur de cet entier..
y a t'il un moyen de passer un simple entier en référence ?
---------------
ceci est un bloc de texte