Comment utiliser des fonctions déjà créés dans plusieurs projets [Résolu]

Signaler
Messages postés
166
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011
-
Messages postés
166
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
35
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
Messages postés
166
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011

Merci pour ta réponse complete. C'est bien un module qui me fallait
Messages postés
166
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011

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é ?
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Bonjour,

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


Calade
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
35
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
Messages postés
166
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011

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