la 2.62
Accueil Remonter De la 5.x a la 7.0 De la 7.0 a DBPlus De la 2.0 a 2.61.5 la 2.62 La  2.70 anciennes

 

Vue d'ensemble de la version dBASEPlus 2.62

 

Point importants
Nouveautés
Corrections par rapport à la version précédente
drapeau_anglais30x15.png (937 octets) Documentation en ligne

Un patch a été mis en ligne pour l'explorateur de projets.

La 2.62 est une mise à jour majeure de dBASE Plus construit en utilisant Microsoft Visual C + + 8.0 et MFC 8.0

Points importants


Mise à niveau de la liste des fichiers du navigateur pour la recherche d'un fichier via une recherche incrémentale, au lieu d'une recherche du premier caractère.
Amélioration de la stabilité et de la gestion des ressources de dBASE Plus par la correction de problèmes mémoire et de ressources et par la correction de certaines causes potentielles d'instabilité au sein de dBASE Plus.
Fixe les problèmes suivants qui rendent difficiles la mise à niveau d’applications dBASE DOS et 16 bits à dBASE Plus :
- les commandes SET RELATION, SET SKIP, et BROWSE
- la commande USE… EXCLUSIVE

Correction d'un crash qui survient lors de l'ouverture de l'éditeur de code source sur Vista 64 bits ou Windows 7 64 bits.


Événements ajoutés pour rendre les formulaires et contrôles personnalisés plus facile à coder et améliorer les nettoyages nécessaires:
- Ajout de l’événement onOpen aux composants qui n'ont pas encore (Container et ReportViewer)
- Ajout de l’événement onDesignOpen au composant qui n’en disposait pas encore (ReportViewer)
- Ajout de l’événement onClose à tout les composants formulaires et rapport qui ne l'avez pas déjà
- Correction d'un bug qui empêchait l’événement onClose() de s’exécuter dans les composants contenus dans les objets Container et Notebook
- Ajout d’un nouvel événement beforeRelease() sur le formulaire, le rapport et les objets composants, permettant à un développeur d'implémenter plus facilement et de gérer le nettoyage des composants formulaires et sous-formulaires. BeforeRelease() se déclenche lorsque l'objet est sur le point d'être détruit.
Par exemple, si un formulaire engage des commandes SET PROCEDURE dans le code de son constructeur pour permettre d’utiliser des fonctions et/ou des classes diverses, vous pouvez maintenant ajouter un événement beforeRelease() sur le formulaire afin de lancer toute commande CLOSE PROCEDURE nécessaire soit pour fermer ou décrémenter le compteur de références de ces fichiers procédure.

Ajout d’une nouvelle fonction procRefCount() - vous permet de vérifier le compteur de référence d'un quelconque fichier procédure ouvert (voir détails ci-dessous).

Amélioration de la vitesse d'ouverture et du scintillement du composant Notebook

Correction de plusieurs bugs de Grid qui pouvaient faire une sorte de clignotement et évite que des événements de cellules ne s’enclenchent pendant l'ouverture d'un formulaire.

Correction de quelques bugs dans ListBox qui pouvaient le faire se bloquer et ignorer ses polices et les paramètres de couleurs après que son datasource soit réinitialisé.

Evolution de Project Manager (Gestionnaire de projet) pour supporter l’utilisation des chemins de fichiers relatifs pour les fichiers ajoutés à un projet.
Prend désormais en charge le Source Alias ou les chemins d'accès complets en fonction du réglage de propriété.

Changement par défaut pour l'auto-démarrage de dQuery sur une nouvelle installation de dBASE Plus afin que dQuery ne démarre pas automatiquement sauf si l'utilisateur choisit de l'activer.


DQuery amélioré comme suit:
- ajout du support pour l'utilisation de l’événement beforeRelease() dans un datamodule
- correction de plusieurs sources potentielles d'instabilité qui pourrait conduire à des violations d'accès mémoire (MAV)
- suppression de l’obligation de sauvegarder un datamodule avant de l'ouvrir dans l'éditeur de code source
-Correction d'un problème où les définitions de vues Multi-Table et la liste de rapports personnalisés sont perdus si datamodule a été ouvert dans l'éditeur de code source


NOUVELLES FONCTIONNALITES

Navigateur

Qaid: 433 - recherche incrémentale mise en œuvre dans le Navigateur de fichier. Au lieu de permettre des recherches seulement par le premier caractère d'un nom de fichier, le navigateur prend désormais en charge des caractères multiples, vous permettant de saisir autant de caractères que nécessaire pour localiser un fichier. Après chaque caractère soit tapé le navigateur ajoutera le caractère le plus récemment à sa chaîne de recherche interne et recherchera le premier fichier correspondant à la chaîne. Si un retour arrière est enfoncé, le dernier caractère de la chaîne de recherche est enlevé et une recherche est répétée pour la chaîne de recherche mise à jour.
La recherche n’est PAS sensible à la casse.
La chaîne de recherche sera effacée lorsque les éléments suivants se produiront:
- Lorsque le navigateur est créé
- Lorsque la fenêtre de la liste de fichiers du navigateur reçoit le focus
- Lorsque l’événement enfoncement gauche ou droit de la souris s’effectue sur la fenêtre de la liste de fichiers du navigateur
- Si plus de 1,5 secondes se sont écoulées depuis la dernière recherche de caractère ou qu’un retour arrière ait été exécuté.
- Si vous appuyez sur retour arrière suffisamment de fois pour supprimer tous les caractères dans la chaîne de recherche.


Runtime Engine
Qaid: 6451 - Mise à jour de la logique de la ligne de traitement de commande pour le commutateur-C pour vérifier les doubles guillemets doubles afin de supporter les noms de chemin long et des espaces

intégrés dans le chemin du fichier .ini spécifié lors du lancement de plus.exe ou plusrun.exe

Ajout d’un nouveau message d'erreur:
Erreur # 404 "Unbalanced quotes in path for .ini file"
Cette erreur sera déclenchée si un premier guillemet double est détecté après l'option-C, mais qu’aucun guillemet de fin n’est trouvé.


Composants Formulaire
Qaid: 3280 - événement onOpen() ajouté à la classe Container
Qaid: 761/1825/4511 - événement OnClose() ajouté à tous les éléments de formulaire.
Ajout des événements OnOpen(), OnDesignOpen() et OnClose() à ReportViewer


Ajout de l’événement OnClose() aux objets suivants de formulaire :
PushButton
ActiveX
CheckBox
RadioButton
ListBox
Progress
Text
Slider
TreeView
NoteBook
Tabbox
Grid
ComboBox
EntryField
Spinbox
Line
Box
Container
Browse
ScrollBar
Editor
Image
Shape
ReportViewer
TextLabel


Ajout des événements OnOpen() et OnDesignOpen() à la classe ReportViewer.
Qaid: 1825 - Ajout de l’événement OnClose() à la classe Container
Qaid: 4511 - Ajout de l’événement OnClose() à la classe PushButton
Qaid: 1155 – Ajout de code pour l’exécution de l’événement OnClose() pour les composants du rapport. Notez que les événements OnClose() du rapport ne s’exécutent que lorsque la méthode Close() du rapport est explicitement lancée.

Formulaire, sous-formulaire, rapport, composants de formulaire, objets de données
Qaid: 6452 – Ajout de l’événement beforeRelease à la plupart des classes intégrées incluant le formulaire, sous-formulaire, rapport, Label et composants.
BeforeRelease() peut être utilisé pour effectuer les tâches de nettoyage avant qu’un formulaire ou un sous-formulaire soit détruit.

Ajout de l’événement beforeRelease() pour les classes suivantes:
Form
Sub-Form
Report


Tous les composants de formulaire:
Paintbox
PushButton
CheckBox
RadioButton
ListBox
ActiveX
Text
ProgressCtrl
SliderCtrl
TreeView
TreeViewItem
NoteBook
Tabbox
Grid
ComboBox
EntryField
OLE
Spinbox
Line
Box
Container
Browse
ScrollBar
Editor
Image
Shape
ReportViewer
TextLabel
Array
AssocArray
String -
MenuBar
Menu
Popup
DDELink
DDETopic
Session
Database
DataModule
Rowset
Designer
Timer
Query
StoredProc
Field

 

Fichiers Procédure
Qaid: 6453 – Ajout de la fonction ProcRefCount () pour dBASE Plus. ProcRefCount() retourne le nombre de références à un fichier de procédure.
ProcRefCount () retourne le nombre de références à une fiche de procédure.

Syntaxe :
ProcRefCount (<fichier procedure expC>)
Fichier procédure expC - nom du fichier ou le chemin et le nom d'un fichier procédure

Description:
Utilisez PROCREFCOUNT() pour trouver le nombre de références à un fichier procédure. PROCREFCOUNT() accepte un seul paramètre qui est le nom du fichier de procédure ou le chemin complet et le nom du fichier procédure pour lequel vous voulez que le nombre soit retourné.
La valeur retournée est numérique.
Chaque fois qu'un fichier procédure est chargé son compteur de références est incrémenté de un.
Chaque fois qu'un fichier procédure est fermé son compteur de références est décrémenté d'une unité.
Lorsque le compteur de référence d’un fichier procédure a atteint zéro, le fichier procédure est supprimé de la mémoire et son contenu n’est plus accessible.
Utilisez SET PROCEDURE TO <fichier procédure expC> pour charger un fichier procédure.
Utilisez CLOSE PROCEDURE <fichier procédure expC> pour fermer un fichier procédure.

Qaid: 6549 - Augmentation du nombre de fichiers de programme dBase qui peuvent être ouverts simultanément (via SET PROCEDURE ou via DO <programme>)de 512 à 2048 pour réduire l'occurrence d’erreurs inexactes "Mémoire insuffisante" dues à la tentative de chargement de plus de 512 fichiers.


Qaid: 6573 - A changé le réglage par défaut du lancement de dQuery de True false afin que dQuery ne soit lancé automatiquement que si l'utilisateur choisit de l'activer.

Source : Guide de l’utilisateur 2.62

 

CORRECTIONS

(par ordre alphabétique des commandes)

 

Active X

Mis à jour du contôle ActiveX de dBASE afin qu'il déclenche l’événement Show() de n'importe quel contrôle ActiveX hébergé en son sein. Ceci corrige un problème avec le GD Viewe rPro ActiveX qui s'attend à être informé du moment où activer son interface utilisateur (IU) et celui du moment de s’afficher. Auparavant, dBASE notifiait seulement à un ActiveX d’activer son interface utilisateur.

 

Browse Commande

Correction d'un bug trouvé dans MSVC qui faisait que les entêtes personnalisées d’une colonne s’affichaient comme du charabia.

L’enttête de colonne était spécifiée via la clause FIELDS '
\ H = "headerstring" option, par exemple:
UTILISATION FISH.dbf
BROWSE FIELDS nom\H="Mon titre"
La cause du problème était dûe à un buffer contenant l’entête de colonne et relâché trop tôt.
Ceci a été corrigé à la fois pour BC5 et MSVC

 

ColumnCombobox classe

Correction d'une régression qui faisait que this.value renvoyait une valeur incorrecte dans un événement onChange d’une columnComboBox's. Mis à jour le correctif de sorte qu'il ne brise pas this.value lorsque vous y accédez en beforeCellPaint() et onCellPaint().

Fixé le scintillement de columnComboBox qui s'est produit lors du défilement vertical à travers une colonne de la grille. Le columnComboBox est maintenant créé de manière invisible pour masquer plusieurs affichages jusqu'à ce qu'il soit à la taille de la cellule de grille et que son systemTheme ait été réglé pour correspondre à la grille.

 

Container and Notebook classes

Correction des classes Container et Notebook de sorte que les événements OnClose() des contrôles inclus se déclenchent lorsque le formulaire est fermé.

DataModRef classCorrection d'une erreur interne qui a eu lieu lorsque vous utilisez un datamodule partagé via datamodref sur de multiples formulaires multiples et que l’on navigue entre les formulaires.

Correction d'erreur interne qui a eu lieu lorsque vous utilisez un datamodref sur 2 formulaire avec le datamodule partagé entre les datamodrefs, puis en exécutant un formulaire, puis le fermer et passer au second formulaire, puis fermer le deuxième formulaire et revenir au premier formumlaire.

Lorsque le premier formulaire a été fermé, le datamodule partagé était apparenté au premier datamodref qui a été relâché après l’ouverture du deuxième formulaire. Lors d'une tentative pour revenir au premier formulaire, une routine interne essaie d'accéder à l'objet parent datamodule qui n'existe plus.

 

Form et SubForm classes

Correction de la fuite de ressources suivantes:

- Lors de l'établissement de la propriété d'icône d'un formulaire et ensuite l'émission à plusieurs reprises : do someform.wfm puis fermer le formulaire.

- Dans l'objet Notebook lorsque sa propriété systemTheme est à true et le formulaire contenant le Notebook est ouvert et fermé

Corrige le flash lors de l'ouverture du formulaire occasionné par l'effacement et le rétablissement du contenu du formulaire après tous les contrôles aient été initialisés et affichés, mais avant que les événements onOpen du formulaire ne soient déclenchés.

Ce flash est plus prononcé dans les formulaires contenant un grand Notebook qui contenaient des composants et avec les styles visuels activés

Amélioration de l'algorithme utilisé pour décider de faire défiler automatiquement un formulaire ou un sous-formulaire lorsqu’un élément reçoit le focus et que le composant est en dehors de la zone visible du formulaire ou sous-formulaire

 

Grid class

Correction d'une régression qui a empêché des cellules de la grille de s'afficher comme sélectionné lorsque grille reçoit le focus en premier lieu, ou lorsque le formulaire s'ouvre, ou lorsque l'utilisateur tabule vers la grille.

Notez que certains paramètres de propriété de la grille qui sont effectués après la construction de la grille initiale peut éviter de mettre en évidence l'affichage dans la cellule de grille. Dans ces cas, appeler refresh() dans l’événement onOpen() de la grille pour corriger l'affichage.

(La régression s'est produite dans le correctif pour Qaid: 6349 dans la build 2067)

Fixe beforeCellPaint() et onCellPaint() lorsque la grille est d'abord créé lors de l'ouverture formulaire. Les événements ne s’effectuent pas jusqu'à l’ouverte complète du formulaire, en raison de l’arrêt de l’exécution des événements pendant la création de chaque composant. Modification des contrôles de colonne pour désactiver temporairement les événements du formulaire lors de la mise en place de chaque cellule de la grille (sauf lorsque le formulaire est ouvert dans le concepteur de formulaire).

Correction du scintillement de la totalité du bureau Windows qui se produit lors du changement de liaison de données d'une grille. Le scintillement avait lieu lorsque la propriété HScrollBar de la grille a été fixé à « 2 – Auto » et que la liaison des données de la grille a été changé ede Null à un objet rowset valide.

 

Listbox Classe

Fixe une cause de GPF dans ListBox due au fait que ListBox n'utilisait pas le bon mécanisme pour la notification des changements de la source de données et des propriétés de police lorsque la source de données est un objet champ. Cela a également corrigé les propriétés de polices et de couleur de Listbox, afin qu'ils fonctionnent correctement surtout après un changement ou un redémarrage d’un datasource de Listbox

Correction d'un bug ListBox où le dernier élément de la liste est affiché comme sélectionné et en haut de la liste la première fois que la ListBox est ouverte. Les autres éléments de la liste sont au-dessus du haut de la liste. Ce problème est apparu après la mise à jour pour b1992 Qaid: 5461, qui fixe le mode AUTO de la barre de défilement verticale de la grille de façon à ce que la barre de défilement vertical ne s'affiche pas pour une grille ou liste déroulante si le nombre de lignes ou de points s'inscrit dans l'espace vertical défini.

Fixe la double exécution de OnSelChange() lorsque la source de données est un champ dans une table

 

Pushbutton classe

Bouton-poussoir corrigé de telle sorte qu'il définit correctement la couleur du texte en premier plan de la propriété colorNormal lorsque systemTheme est à la valeur True et que la version 6 des contrôles communs sont disponibles (sur Win XP, Vista, Win 7)

 

Report Classe

Fixe la MAV (memory access violation) qui a eu lieu lors du glissement d’un champ d’une table ouverte dans une zone de travail sur le rapport

Fixe la propriété Report.elements de façon que tous les composants soient ajoutés au tableau des éléments. (Ne comprend pas les objets Bands, Groups, StreamSource, ou PageTemplate).

Fixe objet texte avec variableHeight = true, afin de s'assurer qu'aucune des lignes d’un mémo ne soient supprimées lorsque l’on passe à la page suivante du rapport.

Rowset classe

Certaines méthodes rowset ne s'assurent pas que le jeu de lignes en cours est synchronisé avec son jeu de lignes parent lorsque l'ensemble de lignes de courant est bien positionné comme un enfant dans une relation parent/enfant. Fixe les méthodes rowset suivantes: first() last() count() next().


SET RELATION / SET SKIP / BROWSE commands

Fixe 2 bugs empêchant SKIP et BROWSE de fonctionner correctement avec une relation parent-> enfant ->petit-enfant initialisée par SET RELATION et SET SKIP pour déplacer les enfants et petits-enfants des tables en synchronisation avec la table parent.

Fix 1

------

Lorsque le parent a été avancé à une ligne sans correspondance avec des lignes enfants ou petits-enfants, dBASE ne chargeait pas les tampons des lignes enfants et petits-enfants avec des données vide. Les données correspondant à la ligne parent précédente étaient laissées dans les tampons pour les lignes enfants et petits-enfants.

Fix 2

-----

Fixe la commande BROWSE afin qu'elle affiche et se déplace correctement à travers les lignes de parent, enfants, petits-enfants et des tables dans une relation parent-> enfants-> petits-enfants.

Auparavant, les données s’affichaient d'abord correctement, mais lors du défilement vers le bas de BROWSE (en appuyant sur la touche flèche vers le bas) après la dernière ligne visible les tables enfant et petit-enfant ne restaient pas synchronisé avec la ligne actuelle de parents.

Source Editor

Fixe Memory Access Violation qui a eu lieu lors de l'ouverture de l'éditeur de code source lors de l'exécution dBASE Plus sous Windows Vista 64 bits ou Windows 7 64 bits

Stabilité

Fixe une source possible d'accident lors de la comparaison des valeurs numériques. L'accident a été trouvé par QA tests automatisés. Constaté que la mémoire tampon interne utilisée lors de la conversion d'un nombre à une chaîne de chiffres est parfois trop petit pour une valeur résultant. Modification de la taille du tampon de afin de s'assurer qu'il est toujours assez grand pour les valeurs dBASE de type flottant.

Correction de certaines violations d'accès mémoire qui se produisent lorsque des objets de requêtes sont notifiés de manière récursive pendant la libération de leur objet parent (formulaire ou datamodule).

 

USE ... EXCLUSIVE

Correction d'un bug qui permettait à l’instruction USE maTable EXCLUSIVE d'ouvrir la table en mode partagé au lieu de lancer une exception ou d'afficher un message d'erreur (si la table était déjà ouverte par un autre utilisateur ou par une autre session en mode partagé)

Mis à jour le message d'erreur pour inclure le nom de la table quand une commande USE ... EXCLUSIVE échoue du fait que la table est déjà en usage dans une autre session.

 

DOCUMENTATION EN LIGNE

Sur le site de dBase.inc, vous avez accès à toute l 'aide.

(source : http://www.dbase.com/FeaturesAndFixes2_62.asp )

 

Mars 2010