cs_olive73
Messages postés61Date d'inscriptionvendredi 1 octobre 2004StatutMembreDernière intervention 1 octobre 2009
-
21 juil. 2006 à 15:30
pymaster
Messages postés74Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention14 août 2006
-
21 juil. 2006 à 20:15
Salut,
A partir d'un Form, je veux appeler une procedure qui dans un autre Form.
J'ai mis ma procedure en Public. Pour l'appel j'ai essaye Nom_Procedure( ); Call Nom_Procedure( ); Form.Nom_Procedure( ).
A chaque fois j'ai la meme erreur lors de la compil : Name 'Nom_Procedure' is not declared.
cs_olive73
Messages postés61Date d'inscriptionvendredi 1 octobre 2004StatutMembreDernière intervention 1 octobre 2009 21 juil. 2006 à 16:35
Salut,
Ma procedure est declaree en publique, mais quand je l'appelle peu importe si j'utilise nomprocedure( ) ou nomform.nomprocedure( ), j'ai une erreur a la compil :-((
pymaster
Messages postés74Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention14 août 2006 21 juil. 2006 à 19:07
bonjour
Est tu sur que tout est bien fait comme tu le dit ??
Par exemple si tu a un formulaire "monForm"
Public Class monForm
public sub maSub()
end class
Dans ton autre form tu peux faire
monForm.maSub()
si tout est beau,
Est ce que tu est bien en VB.NET ?
Est ce que l'erreur est avant ou durant l'exécution ?
Quel est le message d'erreur, car le premier que tu nous a donné n'est valide que si tu fessais maSub() et non pas monForm.MaSUb()
cs_olive73
Messages postés61Date d'inscriptionvendredi 1 octobre 2004StatutMembreDernière intervention 1 octobre 2009 21 juil. 2006 à 19:57
Salut,
Sur mon poste au boulot c'est ce qu'il se passe. Sur mon poste perso de la maison, en mettant bien
Public Sub
nomprocedure( ) (Si si 820468 pymaster je t'assure que je mets bien comme il faut) puis nomform.nomprocedure( ) j'ai une erreur differente lors de compilation :
error BC30469: Une référence à un membre non partagé requiert une référence d'objet.
Et oui =820468 pymaster j'utilise vb.net. Je sais que je suis pas tres fort mais y a des limites ;-)
pymaster
Messages postés74Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention14 août 2006 21 juil. 2006 à 20:15
Bonjour !!
Voila le problème est la
"Une référence à un membre non partagé requiert une référence d'objet."
Vb.NET fonctionne en objet, un formulaire c'est un objet. Quand tu fais du code par contre tu code une "Classe". Pour devenir un objet il faut la déclarer. Un de tes poste doit fonctionner en mode strict et pas l'autre, c'est pour ça qu'il te fait l'erreur a une place, mais qu'il fonctionne à l'autre
Si tu fais
Private frmMonForm as new MonForm(param)
frmMonForm.show
' plus loins dans le code
frmMonForm.MaSub
Alors il n'y aura pas de trouble, car ton objet sera déclaré !!
Par contre si la fonction pourrait fonctionner indépendament du nombre de second formulaire que tu ouvre et que la valeur reste la même pour tous les formulaires alors tu peux te faire une fonction "Shared", les éléments dans une classe déclaré en Shared n'on pas besoins que l'on créé une instance de la classe pour qu'ils fonctionnent. Alors si tu fait
Class MaClass
private shared MaValeur as monType
...
Public shared maFonction(param) as TypeRetour
' Code
End function
end Class
-------------
dans ton formulaire qui veut utiliser la fonction alors fait