ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: OLE IDispatch 901   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

ven. 21 août 2015, 07h31
Jean à Grenoble
atoutfox.public.association

Re: OLE IDispatch 901

bonjour à tous,

sans aller aussi loin, j'ai créé une classe 'parametres' qui est instanciée dans
une variable publique (go_param) au début des applications. J'ai créé d'autres
classes qui contiennent les propriétés (et les méthodes pour les mettre à jour)
des items : parametres_impression, parametres_factures, parametres_paiement,
parametres_annee_scolaire, .... Le but primitif étant de différer la lecture de
ces paramètres pour accélérer le démarrage.

Quand j'ai besoin d'un paramètre, j'instancie la classe correspondante, si ce
n'est déjà fait, par go_param.newobject("maclasse", ...) et la méthode init
correspondante met à jour les propriétés.

MAIS !
Au début, j'ai créé une méthode this_access dans la classe mère et c'est dans
cette méthode que je vérifiais si la 'sous-classe' désirée existait. Mais cette
méthode _access, un peu longue, est exécutée chaque fois qu'on lit une propriété
de la sous-classe; c'est à dire chaque fois que l'on veut lire un paramètre. Et
c'était sensible. Alors j'ai supprimé cette méthode, pourtant très OOP, et j'ai
créé une méthode d'instanciation pour chaque sous-classe. Par exemple : au début
de mes procédures d'impression, j'execute go_param.classe_impression() puis
ensuite je peux utiliser toutes les propriétés de go_param.impression. Il faut
juste penser à executer les méthodes classe_xxxxxx, ce n'est pas OOP, mais c'est
efficace.

deuxième MAIS :
Dans mon menu principal, j'ai besoin de nombreux paramètres pour autoriser ou
non certaines options, créer des sous-menus à la volée, etc ... Du coup, la
plupart des classes paramètres sont instanciées au démarrage et la rentabilité
de toute cette architecture n'est pas terrible. J'ai pensé un moment créer une
sous-classe pour les propriétés 'urgentes' mais cela aurait voulu dire que pour
un item donné, ses propriétés auraient été dispersées dans 2 classes.

En fait, les 2 avantages connexes que je vois sont : la facilité de relecture du
code source et la possibilité de réutiliser les sous-classes (impression, mails,
.....).

Bonne journée !
Jean à Grenoble
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000016665
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3