mes formulaires se passent tout sauf les entier..

mes formulaires se passent tout sauf les entier.. - C#/.NET managed - Programmation

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
Reply

Marsh Posté le 01-04-2005 à 17:38:59   

Reply

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'


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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 ..


---------------
ceci est un bloc de texte
Reply

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 :)

Reply

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 ;)

Reply

Marsh Posté le 05-04-2005 à 14:56:51    

C'est des formulaires web ? :??:

Reply

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 :)

Reply

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...

Reply

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 :)

Reply

Marsh Posté le 05-04-2005 à 15:50:41    

Ah j'avais pas capté que c'était multi-utilisateur [:joce]

Reply

Marsh Posté le 05-04-2005 à 15:50:41   

Reply

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 :)

Reply

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é :p), 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 !
---------------------------------------------------


---------------
ceci est un bloc de texte
Reply

Marsh Posté le 05-04-2005 à 22:52:18    

Il sert à quoi ton entier ?

Reply

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}
 


---------------
ceci est un bloc de texte
Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed