Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
997 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Afficher la même fenetre pour remplir des textboxs en plusieurs endroi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher la même fenetre pour remplir des textboxs en plusieurs endroi

n°390403
cedricbrun
Posté le 12-05-2003 à 14:12:32  profilanswer
 

Salut à tous  :hello:  
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?

mood
Publicité
Posté le 12-05-2003 à 14:12:32  profilanswer
 

n°390454
drasche
Posté le 12-05-2003 à 14:47:05  profilanswer
 

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?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°390513
cedricbrun
Posté le 12-05-2003 à 15:10:43  profilanswer
 

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


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 :
  1. public sub RécupérerCode(toto As TextBox)


 
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.

n°390596
drasche
Posté le 12-05-2003 à 16:00:09  profilanswer
 

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.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°390628
cedricbrun
Posté le 12-05-2003 à 16:18:19  profilanswer
 

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


 
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.
 

n°390646
cedricbrun
Posté le 12-05-2003 à 16:29:16  profilanswer
 

un autre exemple du même problème ...
J'ai ça dans un module  

Code :
  1. Public Function MettreZoneSDansListe(liste As ComboBox)
  2. liste.AddItem ("G01" )
  3. liste.AddItem ("G02" )
  4. liste.AddItem ("G03" )
  5. liste.AddItem ("G04" )
  6. End Function


 
et quand j'appelle  

Code :
  1. Private Sub Form_Load()
  2. MettreZoneSDansListe (CodeZoneStockage)
  3. End Sub

 
ou CodeZoneStockage est une combobox.
Il m'indique une erreur de conversion de type à cette ligne là (lors de l'appel)
[/cpp]

n°390713
drasche
Posté le 12-05-2003 à 17:06:04  profilanswer
 

Bon... je commence à capter un truc en VB là... [:russ]  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 :
  1. MettreZoneSDansListe CodeZoneStockage


ou

Code :
  1. Call MettreZoneSDansListe(CodeZoneStockage)


 
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 :D)  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? :D
 
Donc ton autre problème doit être pareil.
 
Je l'ai toujours dit: des Call partout! :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°391317
cedricbrun
Posté le 13-05-2003 à 09:03:05  profilanswer
 

Yep!!
ça marche maintenant, c'étais ces putains de parenthèses  :fou: ! il suffit de les virer !
 
Merci beaucoup, je vais peut-être pouvoir faire du VB propre maintenant ! :sol:  
A+  :hello:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Afficher la même fenetre pour remplir des textboxs en plusieurs endroi

 

Sujets relatifs
[HTML] Associer un textfield a plusieurs boutons[MFC] Reperer qu'une fenetre a le focus
[QT] Fermeture d'une fenêtre[JS] Afficher une palette de choix de couleur
[Linux C] ncurses et redimensionnement de fenetre sous X[Socket] plusieurs requetes dans une meme socket ?!
[nmpop31] : sauvegarder plusieurs fichiers attachésFermer une fenetre ... :)
Création d'une fenêtre invisible !?![javascript] fenetre msgbox
Plus de sujets relatifs à : Afficher la même fenetre pour remplir des textboxs en plusieurs endroi


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR