Aide en ligne dBASE Plus
DEO
Dynamic
External Objects
Les
Objets externes dynamiques
Creating
a DEO Application
Pour créer une application DEO
Propriété
allowDEOExeOverride La
propriété allowDEOExeOverride
Dynamic External
Objects (DEO)
Les Objets externes dynamiques
DEO (Objets dynamiques externes) est une technologie unique
qui permet non pas seulement aux utilisateurs, mais aux applications, de partager des
classes à travers un réseau (et bientôt, à travers le Web). Au lieu de relier vos
formulaires, programmes, classes et rapports en un seul exécutable qui doit être
installé manuellement sur chaque poste de travail, vous déployez un shell - un simple
exécutable dBASE Plus qui appelle un formulaire initial, ou qui fournit un menu de
départ à partir duquel vous pouvez accéder à tous vos formulaires et autres objets de
dBASE Plus. Le shell exécutable peut être aussi un programme aussi simple que:
do startup.prg
où "startup.prg" peut être un objet ".pro" différent dans chaque
répertoire à partir duquel vous lancez l'application, où le programme construit un menu
contextuel dynamique "à la volée" (on-the-fly).
Les objets dynamiques peuvent être visuels, ou ils peuvent être des classes contenant
seulement "les règles", ou enregistrer et récupérer des données. Chacun de
ces objets peut être partagé à travers le réseau par tous les utilisateurs, et toutes
les applications qui les appellent.
Par exemple, vous avez un formulaire client qui peut être utilisé dans votre application
de suivi des clients, mais peut également être utilisé par votre programme de gestion
de contact aussi bien que votre module comptes clients. Supposons que vous souhaitiez
modifier un peu les champs du formulaire ou d'ajouter une vérification de routine ou de
calcul. Pas de problème, il suffit de compiler le nouveau formulaire et d'utiliser
l'Explorateur Windows pour le faire glisser dans le dossier approprié sur votre serveur.
Chaque utilisateur et application est mise à jour immédiatement.
Les bénéfices d'utiliser des Objets externes
dynamiques (DEO)
Mettre à jour des objets nécessite un simple glisser-déposer. Pas d'inscription, pas de
fichiers d'interface, pas de serveur d'application nécessaires. La mise à jour n'a
jamais été aussi facile.
Bien que les objets soient sur votre serveur de réseau, ils fonctionnent sur le poste de
travail, réduisant la charge sur le serveur de façon spectaculaire, et rendant efficace
l'utilisation de toute la puissance de traitement locale constituant votre réseau.
Le même objet (non-visuel) peut être partagé par votre LAN et votre site Web. Les
objets dynamiques externes sont très petits et se chargent à une vitesse incroyable. Ils
dépassent rarement la taille de 140K et habituellement font moins de 100K.
Et, le plus remarquable de tous, c'est l'un des seuls
modèles d'objets qui supporte pleinement l'héritage. Vous ne pouvez pas hériter d'un
ActiveX / OCX objet. Vous pouvez hériter des objets Java dans CORBA, mais c'est tellement
difficile, que c'est rarement tenté. Avec dBASE Plus, hériter d'objets externes, est un
plaisir savoureux :
Changer la présentation de la superclasse d'un formulaire et chaque formulaire dans
chaque application hérite de ces changements, la prochaine fois qu'il est appelé.
Renommer votre entreprise? Changement de votre logo? Faites glisser le nouveau fichier
.cfo sur le serveur et la mise à jour est terminée.
Mise en uvre des objets dynamiques
1. Compilez votre code source, comme vous le feriez normalement. DEO utilise le code
compilé. Dans dBASE Plus, le code compilé peut être reconnu parce que son extension de
fichier se termine par "o". .rep, compilé devient .reo .wfm devient .wfo, etc.
2. Construire (créer un exécutable), seulement pour le formulaire principale de
lancement, ou utiliser un formulaire de lancement générique pré-construit.
3. Copiez vos objets sur le serveur
C'est fait !
Comme Source Aliasing, DEO s'est doté d'un mécanisme pour trouver les bibliothèques
d'objets, ce qui rend beaucoup plus facile leur partage sur le réseau et les
applications. Ce mécanisme est fondé sur une liste d'options de recherche créé à
l'aide de simples lignes dans le fichier .ini de votre application..
dBASE Plus cherche les objets ainsi :
1. Il regarde dans le répertoire "maison" à partir
duquel l'application a été lancée.
2. Il regarde dans le fichier .ini si une série de chemins de
recherches ont été indiqués. Il vérifie dans tous les chemins si le fichier objet
requis par l'application est présent
3. Il regarde dans le fichier .exe de l'application comment Visual dBASE
faisait.
Supposons que vous avez une bibliothèque dans laquelle vous prévoyez de stocker vos
objets partagés. Supposons aussi que l'application est appelée "MonProg.exe"
et se lance à partir du dossier c:\project1.
Dans Myprog.ini, nous devons ajouter les ordres suivants :
[ObjectPath]
objPath0=f:\mainlib
objPath1=h:\project1\images
objPath2=f:\myWeb
Votre code ressemble à quelque chose comme ce qui suit
set procedure to postingLib.cc additive
dBASE Plus regardera en premier dans c:\project1 (le répertoire "maison).
Si cela échoue, dBASE Plus regardera dans f:\mainlib. S'il trouve postingLib.co, il
chargera cette version. Sinon il regardera dans chacun des chemins suivants jusqu'à ce
qu'il trouve un exemplaire du fichier objet.
Si cela échoue encore, dBASE Plus regardera dans MonProg.exe.
Conseils
Vous aurez à expérimenter DEO pour découvrir la meilleure approche sur la façon dont
vous écrivez et déployer des applications. Cependant, voici quelques subtilités
intéressantes dont vous pourriez tirer avantage:
Mises à jour imprévues : supposons que vous avez déjà envoyé une
application dBASE Plus comme un véritable exécutable. Maintenant, vous voulez apporter
un changement à un module. Pas de problème, il suffit de copier le fichier objet dans le
répertoire de l'application et il sera utilisé à la place de celui intégré à
l'exécutable. Vous n'avez pas besoin de transférer l'application complète comme la
plupart des autres produits de développement d'applications doivent le faire. Il suffit
d'envoyer le nouvel objet.
Rapports: Vous pouvez déployer des rapports ou encore permettre à vos
utilisateurs de créer des rapports (à l'aide de dQuery) et les ajouter à leurs
applications par l'élaboration d'un menu de rapports qui vérifie le disque pour voir les
fichiers avec une extension .reo. Laissez le menu se construire lui-même à partir de la
liste des fichiers. Ici, nous avons de vrais objets dynamiques - l'application ne sait
même pas qu'ils existent jusqu'à l'exécution. DEO prend en charge en temps réel les
applications dynamiques.
Support technique : Vous voulez essayer du code ou déployer un correctif
à un client ou à bureau distant ? Pas de problème, il suffit juste d'envoyer le fichier
objet sur le serveur et la mise à jour est terminée.
Applications distantes : Si vous avez un support VPN (ou toute autre
méthode de mapping d'une connexion Internet à une lettre de lecteur), vous pouvez
exécuter les applications DEO de dBASE Plus à distance sur Internet. Une future version
de dBASE Plus comprendra la résolution d'URL et des adresses IP pour vous permettre
d'accéder directement aux objets à distance par TCP/IP, sans middleware de soutien.
Objets distribués : Les objets peuvent être dans un seul dossier sur
votre serveur, dans différents dossiers de votre réseau, ou en double dans une dizaine
de dossiers pour la sécurité. Si l'un de vos serveurs tombe, et qu'un objet est
indisponible, dBASE Plus recherche dans le dossier suivant de la liste jusqu'à ce qu'il
en trouve un qu'il puisse charger. Les objets peuvent être situés n'importe où ils
peuvent être trouvés par le poste de travail.

Creating a DEO
Application
Pour créer une application DEO:
1. Cochez la case marquée ", DEO application?", sur la page Project.
2. Cliquez sur "Yes" à la boîte de dialogue suivante (ici premier graphique de
l'aide dBASE "Creating a DEO Application")
Après la désignation d'un projet en tant qu'application DEO, vous devez attribuer les
fichiers du Projet à des dossiers DEO.
Dossiers DEO
Si vous avez des dossiers que vous souhaitez utiliser pour votre déploiement DEO, vous
pouvez les sélectionner en cliquant sur le bouton « outil ». Cela ouvrira la
boîte de dialogue « Choose Directory », vous permettant de sélectionner un
dossier.
Si vous souhaitez créer de nouveaux dossiers, tapez le chemin complet dans le champ de
saisie et appuyez sur la touche ENTRER. L'explorateur de projet créera le dossier.
Répétez cette opération pour chaque dossier que vous souhaitez créér en
sélectionnant le numéro de la prochaine ligne dans la liste, et la désignation d'un
chemin et d'un nom dans le champ de saisie. Pour supprimer un dossier dans la liste, vous
devez d'abord supprimer tous les fichiers qui lui sont assignées. Une fois qu'il est
vide, le sélectionner dans la liste et cliquez sur le bouton icône "Clear a Target
Folder" ("Effacer un dossier cible") sur la droite.
Sélection du dossier DEO pour
chaque fichier
Une fois que vous avez créé les dossiers DEO, nous avons besoin de désigner à
l'Explorateur de projet la place des fichiers dans les différents dossiers (voir second
graphique de l'aide dBASE "Creating a DEO Application").
1. Dans l'arborescence (TreeView), sélectionnez le fichier que vous voulez affecter à
un dossier particulier. L'Explorateur de projet bascule la vue dans l'onglet Détails de
la page de détails du fichier (File Details).
2. Décochez la case "Include file within executable" ("Inclure le fichier
dans exécutable")
3. Cochez la case "Copy File to Separate DEO Folder" ("copie le fichier
dans un dossier DEO séparé")
4. Répétez ce processus pour chaque fichier qui peut être compilé.
L'Explorateur de projet ne vous permettra pas de régler l'emplacement DEO pour le fichier
que vous avez désigné comme le principal programme de démarrage dans la section
Build.("Main Startup Program") L'application nécessite que le fichier compilé
soit intégré dans l'exécutable lui-même.

Propriété allowDEOExeOverride (Autorise
DEO à se substituer à l'Exe)
Détermine comment une application recherche les objets
externes.
Propriété de
_app (true par défaut)
Description
Objets dynamiques externes (DEO) est actif dans dBASE Plus par défaut, ce qui permet aux
applications d'effectuer une recherche automatique des objets externes. Le réglage de la
propriété allowDEOExeOverride à false (faux) empêche les procédures, construites dans
une application .exe, d'être supplantées par des objets externes, par la recherche en
premier au sein de l'application. Exe. Seules les procédures qui n'existent pas dans le
.exe sont recherchées à l'extérieur de l'application .exe.
Lorsque allowDEOExeOverride est faux (false) :
dBASE Plus fait des recherches pour les objets comme suit:
1. Il regarde à l'intérieur du fichier .exe de l'application, la façon dont Visual
dBASE faisait dans le passé.
2. Il regarde dans le "home" dossier à partir duquel l'application a été
lancée.
3. Il regarde dans le fichier .ini pour voir s'il y a une série de chemins de recherche
spécifiés. Il vérifie tous les chemins dans la liste de recherche de l'objet fichier
demandé par l'application.
Lorsque allowDEOExeOverride est vrai ( true, la valeur par défaut) :
dBASE Plus fait des recherches pour les objets comme suit:
1. Il regarde dans le "home" dossier à partir duquel l'application a été
lancée
2. Il regarde dans le fichier .ini pour voir si il y a une série de chemins de recherche
spécifiés. Il vérifie tous les chemins dans la liste de recherche de l'objet fichier
demandé par l'application.
3. Il regarde à l'intérieur du fichier .exe de l'application, de la façon dont Visual
dBASE faisait dans le passé.
Le réglage par défaut pour la propriété allowDEOExeOverride est vrai.
Traduction des sujets de l'aide en ligne de dBASE -
version 2.6.0