Afficher la même fenetre pour remplir des textboxs en plusieurs endroi - VB/VBA/VBS - Programmation
Marsh Posté le 12-05-2003 à 14:47:05
en effet, t'as pas tout compris VB permet bien le passage d'objet en paramètre et ça se passe exactement comme pour une variable ordinaire.
Quel est le message d'erreur? A la compile ou au runtime? Cet objet passe-t-il de ta form principale à la form liste des fournisseurs, ou le contraire?
Marsh Posté le 12-05-2003 à 15:10:43
drasche a écrit : en effet, t'as pas tout compris VB permet bien le passage d'objet en paramètre et ça se passe exactement comme pour une variable ordinaire. |
Bah il me met une erreur de conversion de type au runtime.
Je passe l'objet de ma form principale vers la secondaire par le biais d'une methode de la secondaire, dont la signature est, typiquement
Code :
|
quand j'appelle cette methode de la fenetre principale en lui mettant un TextBox en paramète, il me jette... J'ai essayé avec d'autres types d'objets et ça fait pareil.
Marsh Posté le 12-05-2003 à 16:00:09
Ce ne serait pas beaucoup plus simple si tu passait le contenu de la TextBox plutôt que la TextBox elle-même? Ou deux params au lieu d'un si vraiment t'as besoin d'un truc supplémentaire contenu dans le TextBox. Si le paramètre passé à la fonction est bien une TextBox, je ne pense pas que le problème vienne de là.
Trappe précisément la ligne qui plante. Si ça se trouve, tu interceptes les erreurs au niveau de ta fonction dans la form principale, et pas dans RécupérerCode. Si un plantage survient dans RécupérerCode, on peut facilement croire que c'est l'appel lui-même qui est incorrect, alors qu'en fait c'est quelque part dans la fonction que ça foire.
Marsh Posté le 12-05-2003 à 16:18:19
drasche a écrit : Ce ne serait pas beaucoup plus simple si tu passait le contenu de la TextBox plutôt que la TextBox elle-même? Ou deux params au lieu d'un si vraiment t'as besoin d'un truc supplémentaire contenu dans le TextBox. Si le paramètre passé à la fonction est bien une TextBox, je ne pense pas que le problème vienne de là. |
Bah nan, je veut changer la valeur du texte du textbox qui est dans la form qui appelle l'autre (tu me suis ?)
Je veux pas récuperer le texte, je veut le modifier une fois que l'utilisateur a trouvé le bon fournisseur dans la feuille d'avant.
Marsh Posté le 12-05-2003 à 16:29:16
un autre exemple du même problème ...
J'ai ça dans un module
Code :
|
et quand j'appelle
Code :
|
ou CodeZoneStockage est une combobox.
Il m'indique une erreur de conversion de type à cette ligne là (lors de l'appel)
[/cpp]
Marsh Posté le 12-05-2003 à 17:06:04
Bon... je commence à capter un truc en VB là... C'est le problème des parenthèses quand on appelle une fonction. Chuis jamais tombé dessus avant parce que je suis un fana du Call et j'en ai partout dans mon code.
Pour ton appel, t'as deux choix:
Code :
|
ou
Code :
|
Le code que tu m'as montré ne passe pas à la compile pour une raison obscure, c'est du joli (de la part de VB hein ) Oui, ça passe pas à la compile chez moi parce que je suis un fana du Control-F5, alors que toi, tu fais sûrement F5. Je me trompe?
Donc ton autre problème doit être pareil.
Je l'ai toujours dit: des Call partout!
Marsh Posté le 13-05-2003 à 09:03:05
Yep!!
ça marche maintenant, c'étais ces putains de parenthèses ! il suffit de les virer !
Merci beaucoup, je vais peut-être pouvoir faire du VB propre maintenant !
A+
Marsh Posté le 12-05-2003 à 14:12:32
Salut à tous
Bon, là je dois faire du VB, et tant qu'à faire je voudrai le faire propre. Donc je vous explique :
Dans mon application, j'ai plusieurs fenêtres ou on peut entrer un "code fournisseur" dans une TextBox. A côté de ce textbox je trouvai de bon ton de mettre un bouton qui déclenchai une fenêtre afin de retrouver ce code fournisseur (par le nom par exemple) et de mettre ensuite la valeur à jour dans le TextBox.
Comment faire ?
En effet je pensais creer une méthode sur ma fenetre de recherche de fournisseur qui prend le Textbox en paramètre, afin de le mettre à jour ensuite tranquillou.
MAIS VB PERMET PAS LE PASSAGE D OBJET EN PARAMETRE ! (ou alors j'ai pas tout compris)
Auriez vous une 'tit idée?