Complément d'information sur l'utilisation de Callbyname

[Résolu]
Signaler
Messages postés
18
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
9 septembre 2008
-
Messages postés
18
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
9 septembre 2008
-
Bonjour à tous.

Suite à mon problème d'hier concernant la génération dynamique d'appel de fonction, j'aimerais vous demander un petit complément d'information :

L'exemple que vous m'avez donné et que l'on retrouve typiquement consiste à appeler la fonction souhaitée par la méthode VBmethod dans l'objet "me". (normalement jusque là, je ne dois pas trop me tromper :-) )

Dans mon cas personnel, ces fonctions sont actuellement répartie dans 6 autres modules (cela du à leur longueur).

Je me suis donc penché sur la façon dont je pouvait les appeler, voici les solutions que j'ai trouvée :

1) [Mode usine à gaz]
Dans le module ou j'emploie la fonction callbyname, je fais une suite de sub qui appèleront les véritables fonctions contenues dans les autres modules...usine à gaz

2) D'une manière un peu plus propre, je supprime les 6 modules actuels et créé 6 modules de classe...
Cela me permet d'appeler directement mes fonctions dans le callbyname en me servant des objets "class".
Malheureusement, le fait que les fonctions soient réparties en 6 modules m'obligera de créer une petite procedure intermédiare determinant dans quel module de classe se trouve la fonction à appeler...

Le premier cas me semble pir que la solution que j'emploie actuellement, le second est envisageable mais je trouve qu'il tourne en rond pour pas grand chose.

Qu'en penssez vous? N'y aurait il pas moyen de déclarer tout les modules tel un gros objet? ^^

De plus je n'ai pas testé moi même la limite de nombre de caractères dans chaque fichiers modules, est-ce obligatoire, ne pourrais-je pas créer un immense fichier class qui résoudrait mes problèmes?

Merci à vous,

Stun

4 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Et pourquoi ne pas Creer UN SEUL module de classe contenant TOUTES tes procédures de calcul?

Dim oCalcul As New ClsCalcul
   Call CallByName(oCalcul, "Calcul" & Format(IdCalcul, "000"), VbMethod)
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
18
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
9 septembre 2008

Et bien en fait, mon tuteur m'a informé qu'il avait été géné par une limite de nombre de caractères dans ses modules, cela dit, je vais essayer d'appliquer cette méthode, je vous tien au courant dans la journée.

Merci de votre réponse.

Stun

#############################################

####                        Débutant en VB6                        ###

#############################################
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
limite du nombre de caracères :o

et beh !

y'a surement moyen de factorsier du code qui lui ira dans un module standard
Messages postés
18
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
9 septembre 2008

En effet, je n'ai pas vu de limite, mon tuteur étant en réunions, je ne peut pas lui demander... Le programe semble fonctionner (ormis un tableau dynamique qui n'en fait qu'a sa tête).

Quoi qu'il en soit, je vous remercie grandement de votre aide :-)

Bonne journée à vous!

Stun

##############################################

####                        Débutant en VB6                        ###

##############################################