Bonjour,

J'un petit souci sur la portée d'un enum.

Explications :

Je crée une appli VB2005 s'appuyant sur des données dans MS Acces.
A cette fin, j'ai (en simplifiant) trois classes :

- une dll dao qui accède à la base et alimente le dataset sur lequel nous allons travailler
- une dll metiers qui gèrent les objets (more on this later)
- une appli exe, la principale avec IHM et tout le bazar

Le dataset est entièrement codé et créé dynamiquement, et n'est pas fortement typé car je ne sais pas faire en dynamique.
Pour simuler ce cas, j'ai néammoins codé des classes métiers qui reprennent certains avantages des dataset typés.

Pour que cela marche, je dois avoir accès à un enum qui représente les colonnes de ma table.

Cet enum est placé dans une classe clsColonnes de dao.dll

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
class clsColonnes
    public enum colTable
        Identifiant
        Zone
    end enum
end class
Un enum public étant (apparemment) un membre de classe, je peux y accéder à partir de toutes les classes de dao. Nickel.

Dans la couche métiers, je me suis fait une classe clsColonnes très simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
class clsColonnes
    inherits dao.clsColonnes
end class
Ceci afin de ne référencer que les métiers dans l'appli principale.

Et bien ça ne marche pas, il faut quand même référencer dao dans l'appli principale, sinon il y a un problème avec cet enum, alors que je fais bien référence aux colonnes de "métiers" dans le code.
N'y aurait-il pas une autre façon de faire, comme avec les interfaces que je maitrise assez mal ?

Merci,

JM