Appel de function

Résolu
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012 - 9 nov. 2009 à 05:07
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 9 nov. 2009 à 15:33
Bonjour à tous,

J'ai un problème, j'ai fait un programme au 3/4 et je dois appeller une fonction dans une form d'un autres fprm (avec et sans parametre). Je cherche une méthode autres que de refaire mes function dans un module.

P.S si vous avec le code cela sera plus simple pour mon apprentissage :)

Merci
DraaFil

7 réponses

cs_Ayr Messages postés 221 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 décembre 2009 2
9 nov. 2009 à 15:21
Pas assez clair...

La classe agenda est-elle ta form ou bien est-ce une classe définie dans la classe de ta form formMain ?

Dans le premier cas tu ne peux atteindre ta fonction en faisant formMain.fonction, ta classe s'appelerai "agenda". Donc plutôt agenda.fonction.

Dans le deuxième, pour utiliser cette fonction il faut passer par l'instanciation de ta classe. ex:

Public agendaInstance As New agenda

et ensuite: formMain.agendaInstance.fonction

A+
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 15:33
Effectivement,

Pour plus de précision j'ajouterais qu'en .Net un fichier n'est pas une classe mais un simple fichier portant l'extension .vb permettant d'accueillir du code (classes, modules, enums, constantes etc...), ce fichier n'est pas visible depuis l'IntelliSense, mais les classes qu'il contient oui.

De même grâce à l'instruction Partial, une classe peut être séparé en plusieurs fichier .vb.

C'est embêtant, car l'IDE de vb renomme par défaut les fichier au nom de la classe (Form1.vb pour la classe Form1) ce qui prête à confusion mais ce fichier peut porter n'importe quel nom, cela ne change en rien l'exécution du programme.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
3
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
9 nov. 2009 à 05:07
Je suis en vb.net 2008
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 nov. 2009 à 06:28
change la portée de ces fonctions pour qu'elles soient visible depuis l'extérieur


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 10:08
Salut,

Comme le dit Renfield, Change la portée de tes fonctions(Friend ou Public au besoin), Puis appel simplement ta fonction par:

MaFrom.MaFonction



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_Ayr Messages postés 221 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 décembre 2009 2
9 nov. 2009 à 10:55
Salut,

Pour ce qui est du "avec et sans parametre" tu as différentes solutions mais puisque tu es en vb.net, tu peux utiliser le "Le polymorphisme paramétrique" c'est à dire, définir plusieurs fonctions avec le même nom mais un nombre de paramètres différents et de types différents.

A+
0
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
9 nov. 2009 à 15:04
Bonjour,

Voici plus en details :

(formMain)
Public Class agenda
Public Sub AfficheFetes(ByVal Month As ComboBox)
...
End Sub
End Class

J'ai un bouton sur une autres form qui doit appeller cette fonction.

Comme vous me le marquez ci-haut, la fuction était déjà public.
j'ai essayé avec formMain.fuction (elle n'est pas la)

Merci
DraaFil
0
Rejoignez-nous