Comment utiliser des fonctions déjà créés dans plusieurs projets

Résolu
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011 - 15 févr. 2011 à 17:39
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011 - 22 févr. 2011 à 05:39
Bonjour

J'ai écrit un certains nombre de fonctions que j'utilise trés souvent dans différents projets VBNET avec VS2010.

J'aimerais en faire une bibliotheque, ou quelque chose comme ca. J'ai cru comprendre que je devais faire une classe aprés avoir lu quelques tutos.

Dans un fichier vb j'ai donc écrit cela

Public Class AFfct

Public Shared Function FonctionA(ByVal chemin As String) As Long
        Dim dr As Boolean
        dr = FonctionB
        FonctionA=1
End Function

Public Function dr() as boolean
       dr=2
End Function

End Class


Et ensuite j'ai ajouter ce fichier a mon projet vb

Le probleme se situe au niveau de la déclaration FonctionA

Si je met Public Function, elle n'est pas vue dans mon projet
Si je met Public Shared, elle est vue mais du coup j'ai une erreur au niveau de l'instruction dr=FonctionB (Impossible de faire reference a un membre instance d'une classe a partir d'une méthode partagé)

Bref je n'y comprend rien, aussi si quelqu'un de charitable voulait bien me donner les bases.


J'ai essayé également de mettre mes fonctions dans une Dll mais meme probleme, il ne voyait pas ma fonctionA

D'avance merci

ThonyBoy


PS : Bien entendu le code donné n'est qu'une illustration de mon probleme et n'a aucun interet.

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 févr. 2011 à 17:54
Soit tu met ton code dans un module (fichier) que tu intègre à chacun de tes projets, les fonctions seront donc compilées comme partie intégrante de l'exécutable,

Soit tu crée une bibliothèque de classe avec tes fonction, comme tu as commencer à faire. L'avantage c'est que tu la compile et teste une seule fois. Ensuite il suffit de rajouter la dll ainsi créée comme référence à tes projets. Il ne faut pas oublier de la déployer quand tu déploie l'exécutable.


Pour ton problème d'erreur, as-tu essayer de mettre dr = Me.FonctionB ?


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011
15 févr. 2011 à 19:32
Merci pour ta réponse complete. C'est bien un module qui me fallait
0
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011
21 févr. 2011 à 15:21
Bonjour

J'espere que lira ce message.

Le module c'est parfait. Sauf que, moi ce que j'aimerais c'est le stcoker dans un répertoire en dehors du projet afin que quand je le met a jours tous mes devs en profitent.

Or je n'y arrive pas. Quand je fait ajouter un élément existant à mon projet il le copie dans le projet en cours. Moi je voudrais inclure dans mon projet un lien vers ce fichier qui se trouve ailleurs.

Y a t'il quelque chose qui m'a échappé ?
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
21 févr. 2011 à 19:11
Bonjour,

Alors apparemment ce qu'il te faut c'est la 2ème solution de Casy, une DLL.


Calade
0

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

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
21 févr. 2011 à 20:25
C'est bien ça, il faut que tu crée d'abord un nouveau projet totalement indépendant de type Bibliothèque de classes et qui contiendra tes fonctions.

Tu le code, compile, teste, etc ...

Une fois terminé, tu obtient une DLL, qu'il faudra inclure comme référence dans tes autres projets, tu pourra alors en utiliser les fonctions et classes comme tout autre classe que tu utilise déjà en .Net


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011
22 févr. 2011 à 05:39
Bonjour

Je vais essayer comme cela. C'était un peu ma premiere idée mais je me suis heurté a un probleme comme expliqué dans mon premier post.
Donc je vais tenter le truc de me.mafunction

Encore merci a vous 2
0