Bonjour à tous, ma question est dans l'intitulé en effet je ne trouve pas le moyen si c'est possible d'utiliser une classe d'une autre solution, à part la copier.
Si quelqu'un a une idée MERCI
Bonjour à tous, ma question est dans l'intitulé en effet je ne trouve pas le moyen si c'est possible d'utiliser une classe d'une autre solution, à part la copier.
Si quelqu'un a une idée MERCI
tu compiles le projet contenant ta classe (ca va générer un exe ou une dll, idéalement une dll)
tu ajoutes cet exe ou cette dll en référence du projet (après avoir copié la dll quelque part dans la nouvelle solution)
(à mettre à jour à chaque fois que le code source a des modifications à reporter dans la nouvelle solution)
tu peux aussi passer par des packages nugets si tu as un besoin plus industriel (méthode de distribution de dll connectée)
Merci pour ta réponse, j'y suis arrivé, ça fonctionne mais j'ai une petite interrogation car si j’instancie une variable de la classe voulue et que je veux appeler une procédure de cette classe VS me réponds que cette procédure n'est pas membre de cette classe, alors que si je fais la même chose avec la classe que j'ai copiée/collée dans mon projet(au départ) je n'ai pas cet impossibilité. Je précise que cette procédure est publique.
Voilà comment j'ai fait pour utiliser cette classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Public Sub CloseConnexion() cnx.Close() cnx.Dispose() cnx = Nothing End Sub
ici les tests pour utiliser cette procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Imports System.Data.OleDb Imports System.Windows.Forms.VisualStyles.VisualStyleElement Imports BaseAccess 'Le projet d'ou vient cette classe connexion Public Class Form1Metier Inherits connexion 'La classe importée
Si tu as une idée MERCI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Class CreationCompte Private Mt As Form1Metier = Nothing Private Mt1 As Connection 'La classe importée Private Mt2 As ConnexionClass 'La classe copiée/collée Private Sub CreationCompte_Load(sender As Object, e As EventArgs) Handles MyBase.Load Mt = New Form1Metier(My.Application.Info.DirectoryPath & "\BDD\Comptes.accdb") Mt2.CloseConnexion() 'Ici ça fonctionne Mt1 = New Connection Mt1.CloseConnexion() 'Ici ça ne fonctionne pas
Tu es sûr qu'il va chercher dans la bonne classe ? Préfixe le nom de ta procédure avec le nom de la classe
********************
Bjr et merci, que veux tu dire par préfixer ? Le nom de la procédure est sur l'évènement load du formulaire "CreationCompte" oui je vais bien chercher la bonne classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Mt1 As Connection 'La classe importée Mt1.CloseConnexion() 'Ici ça ne fonctionne pas
Bonjour,
Si la classe fait partie d'un projet avec d'autres classes, je t'invite dans le projet originel d'ajouter un nouveau projet de type bibliothèque de classe
Basculer le classe da cette librairie.
Tu pourras dans les références du projet originel activités la librairie.
Cette librairie une fois compilé pour être utilisé dans d'autres projets sans toutefois être modifié.
quelque chose comme:
pour indiquer que l'on prend Connection de BaseAccess
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Mt1 As BaseAccess.Connection 'La classe importée
Bonjour,
Ceci dit tu peux faire un clic droit sur l'explorateur de solutions j'ajoute une une classe existante.
Si tu ne la modifies pas, ce qui pourrait poser problème dans l'autre application dont elle est issu, ça fonctionnera parfaitement.
Bjr à tous et merci pour vos réponses, l'erreur venait de ma part en effet la classe importée se nomme "Connexion" et pas "Connection" d'ou l'erreur ici:
Toutes mes excuses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private Mt1 As Connection 'La classe importée
A+
Bonjour,
A tout azard !
https://gitlab.com/dysorthographie/b...ccess-main.zip
Partager