Changements de Visual dBASE 7.0 à dBase Plus
dBASE Plus supporte stdin et stdout dans la classe intégrée File (fichier), ce
qui permet aux serveurs Web de communiquer directement avec des applications dBASE Web
sans le « middleware » nécessaire dans les versions antérieures. Cette
connexion directe améliore considérablement les performances Web de dBase.
La classe de dBASE Plus Report Class supporte stdout comme une option de sortie
d'origine, permettant aux rapports dêtre exécutés directement sur les serveurs
Web. Les rapports peuvent être appelé et exécuté directement à partir d'une URL
tapée dans le navigateur Web.
La dBASE Plus Web Class, écrite en dBASE, permet de développer très rapidement
des applications de commerce électronique orientées objet.
Les assistants dBASE Plus Web ont été mis à jour pour utiliser les nouvelles
classes Web de dBASE Plus et supportent les instructions stdin et stdout.
dBASE Plus est livré avec un driver ODBC redistribuable gratuitement pour Extended
Systems hautement évolutif Advantage Database Server.
DataModules ont été simplifiés pour une utilisation avec les formulaires.
Déposer un DataModule sur un formulaire crée un objet DataModule, pas un objet
DataModRef comme cela se produisait dans les versions antérieures.
DataModules ont une propriété Parent qui vous permet de naviguer dans la hiérarchie des
objets champ, ensemble de lignes (rowset) ou requête du formulaire qui contient le
DataModule.
Les icônes DataObject affichent leur propriété Name sur tous les outils de
conception visuelle, y compris le Concepteur de Formulaire et le Concepteur de Modules de
données (Designer DataModule), qui rend l'identification plus facile.
Le CD dBASE Plus comprend la base de connaissance dBASE Plus en format HTML.
La classe Rowset (ensemble de lignes) a une nouvelle propriété appelée
masterChild qui vous permet de fixer une relation dBASE parent-enfant avec «contraintes»
ou «sans contrainte». Dans les versions antérieures, les classes de données dBASE
supportaient uniquement la prise en charge avec contrainte des relations parents-enfant.
La nouvelle classe de base TextLabel est une classe à faible ressource de texte
pour l'étiquetage des objets sur un formulaire. Le formulaire saffiche plus
rapidement et utilise moins de ressources.
La classe TreeView apporte de nouvelles capacités à travers ses nouvelles
méthodes streamChildren() et loadChildren(). Ces méthodes permettent aux TreeView
dêtre enregistrés et chargés depuis le disque.
Dans le Concepteur de rapports, les objets Text qui sont liés (DataLinked) à un
champ vide de la table affichent des astérisques leur permettant dêtre visibles et
sélectionnables.
Un nouvel événement onkey a été ajouté pour Entryfields, Comboboxes et
SpinBoxes.
Une nouvelle propriété focusBitmap a été ajoutée à la classe bouton-poussoir
(Pushbutton) qui vous permet de changer le bitmap lorsque le bouton-poussoir reçoit le
focus.
Un nouvel événement canSelChange a été ajouté à la classe Notebook qui vous
permet de valider avant quun changement de page prenne effet et autorise ou interdit
lexécution du changement de page. L'événement passe le numéro de l'onglet
Notebook devant être modifié en paramètre.
Une nouvelle propriété DrawMode a été ajoutée à la classe Shape.
Tous les nouveaux exemples d'applications réelles sont inclus dans dBASE Plus,
dont un gestionnaire de contacts et un client de messagerie.
les boites de Dialogues « Rechercher » (find) et «Rechercher et
remplacer » (Find-and-Remplace) ne sont plus Modales. Vous pouvez maintenant
accéder au code lorsque ces boîtes de dialogue sont sur l'écran.
COPY TO ARRAY nest plus limité à 32.767 éléments du tableau.
Vous pouvez sélectionner le type de table FoxPro depuis l'inspecteur Fox lorsque
vous utilisez le Concepteur de table.
Toutes les informations de version (version de dBASE Plus, de build, version BDE)
est affiché dans la boite de dialogue Aide | A propos (Help | About)
Tous les types de fichiers appelés par DO et MODIFY COMMAND sont acceptés dans la
boite de dialogue « open Table » Nouvelles images dBASE Plus Web et
"Powered by" sont inclus sur le CD d'installation dBASE Plus.
Un nouveau CD d'installation multi-langue unique.
Le concepteur de la classe (Designer Class)
Source Aliasing
Gestion dynamique des objets externes - DEO
Classe TableDef
Classe DBFIndex
DBASE_SUPPRESS_STARTUP_DIALOGS
Propriété baseClassName
Lancer dBASE Plus ou application .Exe sans utiliser le BDE (voir ci-dessous).
Optimisations de démarrage pour les applications Web (voir ci-dessous).
Changement de lignes de commande pour PLUSRun.exe (voir ci-dessous).
Evénement onDrop ajouté à la classe Editor (voir ci-dessous).
Propriétés de la classe formulaire (Form)
appSpeedBar
persistent
Propriétés et méthodes de la classe Rowset
autoNullFields propriété
exactMatch
isRowLocked ()
isSetLocked ()
Propriétés de l'objet _app
allowDEOExeOverride
allowYieldOnMsg
database
ddeServiceName
sourceAliases
Speedbar
terminateTimerInterval
Web
Propriété de lobjet app utilisé pour outrepasser le comportement de Rowset
SET SKIP
detailNavigationOverride
Les fonctions de date
DATETIME () fonction
DTTOD () fonction
DTTOT () fonction
DTODT () fonction
Nouvel identifiant Preprocessor
__version__
Quelques mots sur Source Aliasing et les objets externes dynamiques (DEO)
En quoi consiste Source Aliasing?
Source Aliasing est une nouvelle fonctionnalité dans dBASE Plus qui fournit a votre code
source une véritable portabilité du code par e référencement indirect des fichiers -
par un Alias. De même que le BDE vous permet de définir un alias pour représenter
une base de données ou une collection de tables, Source Aliasing vous permet de définir
des emplacements pour vos différents fichiers sans utiliser des chemins explicites - qui
diffèrent souvent de machine à machine.
Note
Source aliasing ne fonctionne que dans l'environnement dBASE Plus ou lors de l'exécution
des programmes au sein de lenvironnement dBASE. Ce n'est pas une
fonctionnalité du runtime. Pour accéder aux fichiers indirectement dans les
applications déployées, utilisent des objets externes dynamiques (DEO) à la place de
Source Aliasing.
Deo - Objets dynamiques extérieurs
dBASE Plus comprend un tout nouveau modèle dobjet extérieur qui, s'il est utilisé
de manière cohérente, promet le plus faible coût total de possession de l'industrie.
DEO est une technologie unique qui permet non seulement aux utilisateurs, mais aux
applications, de partager des classes d'actions à travers un réseau (et bientôt, à
travers le Web). Au lieu de lier vos formulaires, des programmes, les classes et les
rapports en un seul exécutable qui doit être installé manuellement sur chaque poste de
travail, vous déployez une coquille - un simple exécutable dBASE Plus qui appelle un
premier formulaire, ou qui fournit un menu à partir duquel vous pouvez accéder à
vos formulaires et autre objets dBASE Plus.
Objets dynamiques peuvent être visuels, ou ils peuvent être des classes contenant
seulement des «règles d'entreprise», qui travaillent et postent la transaction, ou
enregistrer et récupérer des données. Chacun de ces objets peut être partagé sur
votre réseau par tous les utilisateurs, et toutes les applications qui les appellent.
Conseils
Vous aurez à expérimenter avec DEO pour découvrir la meilleure approche pour la façon
dont vous écrivez et déployer des applications. Cependant, voici quelques
subtilités intéressantes que vous pourriez exploiter à votre avantage:
Mises à jour imprévue: Pensez que vous avez déjà envoyé une application
dBASE Plus comme un exécutable complet. Maintenant, vous voulez apporter une
modification à un seul module. Pas de problème, copiez simplement l'objet fichier
dans le répertoire principal de lapplication et il sera utilisé au lieu de celui
intégré à l'exécutable. Vous n'avez pas besoin de redéployer l'application
intégrale comme de la façon dont vous faites dans la plupart des produits d'autres
applications de développement. Simplement l'objet modifié.
Rapports: Vous pouvez déployer des rapports ou même permettre à vos
utilisateurs de créer des rapports (à l'aide dQuery / Web) et les ajouter à leurs
applications, en concevant un menu rapport qui vérifie le disque pour les fichiers avec
une extension reo.. Laissez le menu se construire lui-même à partir de la liste des
fichiers. Ici, nous avons véritables objets dynamiques lapplication ne
sait même pas qu'ils existent avant l'exécution. DEO soutient en temps réel des
applications dynamiques.
Dynamic Support Update: Vous souhaitez essayer un peu de code ou déployer un
correctif pour un site client ou une succursale à distance? Pas de problème,
envoyer par FTP l'objet fichier sur le serveur distant et la mise à jour est terminée.
Applications à distance: Si vous avez le support VPN (ou toute autre méthode
de cartographie d'une connexion Internet à une lettre de lecteur), vous pouvez exécuter
des applications dBASE Plus DEO à distance sur Internet. Une future version de dBASE
Plus comprendra la résolution d'adresses URL et les adresses IP afin que vous puissiez
accéder à des objets à distance via TCP/IP sans le soutien de middleware.
Objets distribués: les objets peuvent être dans un seul dossier sur votre
serveur, dans des dossiers différents autour de votre réseau, ou en double dans les dix
dossiers pour la maintenance. Si un de vos serveurs est en panne, et quun objet
est indisponible, dBASE Plus va rechercher les endroits suivant sur la liste jusqu'à ce
qu'il trouve un quil puisse charger. Les objets peuvent être situés n'importe
où ils peuvent être trouvés par le poste de travail.
Classe Rowset améliorée pour maintenir la version OODML du comportement de SET SKIP
navigateMaster
navigateByMaster
Nouvelle propriété de lobjet _app utilisée pour remplacer le comportement du
Roset SET SKIP
detailNavigationOverride
Nouvelle propriétés derreur de manipulation
ErrorAction
errorLogFile
errorLogMaxSize
errorHTMFile
exeName
Lancer dBASE Plus ou application .exe sans utiliser le BDE
Pour les applications qui ne nécessitent pas l'accès aux données contenues dans les
bases de données ou les tables, qui sont construites comme des applications Web, ou à
partir d'un CD, dBASE Plus propose une option qui va contourner la connexion à la BDE
lors du démarrage de dBASE Plus.exe ou une application .exe de dBASE Plus.
Pour configurer dBASE Plus, ou une application dBASE Plus, pour charger sans vous
connecter au BDE, ajoutez les lignes suivantes à PLUS.INI ou au fichier INI de
l'application:
[DataEngine]
DefaultEngine = NONE
Une fois PLUS.EXE ou PLUSRun démarrés, ils liront ce paramètre à partir du fichier
.INI et contourneront le code de démarrage BDE.
L'utilisation de cette procédure rend le paramétrage de votre langue actuelle de Windows
paramétrage du pilote de la langue par défaut.
Démarrage des optimisations pour les applications Web
PLUSRun a été optimisé pour charger des applications Web plus rapidement, utilisent
moins de mémoire et d'éviter l'initialisation des objets qui seraient normalement
visibles à l'écran (dans une application non-web).
Ces optimisations permettent aux applications Web de manipuler des charges plus lourdes
que dans les versions précédentes et de les rendre beaucoup moins susceptibles de se
bloquer ou de laisser des processus bloqués dans la mémoire.
Toutefois, ces changements signifient également que les applications Web ne peuvent plus
créer ou accéder à des objets qui auraient normalement un composant visuel, comme des
formulaires, des menus, barres d'outils champs de saisie, etc. Seuls des composants
non-visuels tels que des modules de données, requêtes, rowsets, des classes utilisateur
non-visuelles, etc devraient être utilisés.
Changement à la ligne de commande pour PLUSRun.exe
PLUSRun va maintenant démarrer une application .exe dBASE Plus qui lui est passé
comme paramètre de ligne de commande.
Syntaxe
PLUSRun [options] [chemin de l'application et nom] [paramètres pour lapplication]
Commutateurs
Le commutateur actuellement disponible,-c <. Nom du fichier ini>, précise un autre
fichier .ini pour être utilisé à la place de celui par défaut.
Chemin de l'application et nom
Le nom et l'emplacement de l'application .exe. La désignation d'un chemin d'accès
est facultative, cependant, quand un chemin n'est pas spécifié, PLUSRun assignera le
lecteur et le répertoire actuel. Les paramètres chemin de l'application et nom
contenant des espaces doivent être placés entre guillemets.
L'exemple de code suivant tente de lancer someapp.exe, avec 2 paramètres et myini.ini est
utilisé au lieu de someapp.ini:
PLUSRun -cmyini.ini someapp.exe
someparm1 someparm2
Description
PLUSRun.exe déterminera si il a été appelé à partir d'une application en cours de
lancement. Lorsque ce n'est pas le cas, PLUSRun.exe vérifie pour voir si un nom de
fichier, et éventuellement avec le chemin daccès, ont été passées en tant que
paramètres sur la ligne de commande. S'ils l'étaient, PLUSRun.exe remplit le chemin
d'accès complet, extension, et ouvre le fichier.
Le runtime commencera alors son exécution si le fichier trouvé contient du code dBASE
Plus compilé. Si le fichier ne peut pas être trouvé, ou ne contient pas de code
compilé dBASE Plus, une erreur est générée.
De cette caractéristique de lancement résulte un seul processus du système
d'exploitation en cours pour chaque application dBASE Plus, plutôt que les deux processus
qui se produisent lors de l'exécution d'une application.exe directement. Cela
devient important pour les applications web, car il réduit le risque d'un accident qui se
traduirait par le blocage de l'un des processus dans la mémoire.
Afin d'utiliser au mieux cette fonction, il sera nécessaire de configurer votre serveur
Web de sorte qu'il construise une ligne de commande appropriée pour tous les applications
web dBASE Plus.
Source : Guide de l'utilisateur dBASEPlus 2.61 - pages 5 à 8