TopoCad++ : de la version 4 à la version 5:

Le premier challenge a été d'adapter l'ancien code C++ au nouveau code issu d'un C++ récent :
-tout ce qui concerne la gestion des flux notamment a été revu ceux ci se comportant différemment

-les classes string de la bibliothèque standard remplacent les anciennes classes C++.

Le second chalenge a été de fabriquer une bibliothèque de templates de structures de données fondamentales remplaçant BIDS et portable (proche au niveau de l'interface de la STL) : TopoCad est désormais donc délivré de BIDS, qui plus est cette bibliothèque intègre des structures plus complexes et plus efficaces (et de type contrôlé).

Le troisième challenge consistait à remplacer le BDE par une gestionnaire de base de donnée de même interface : c'est chose faite avec un code gérant des fichiers dBase et leurs index. Le code conserve la possibilité ainsi d'utiliser soit le BDE soit le nouveau module Xbase constitué d'une unique bibliothèque.

 

Avantages :

-fichiers compatibles dBase et donc manipulables par n'importe quel logiciel manipulant les fichiers dBase.

-plus grande rapidité de traitement.

-aucun besoin d'installer un moteur : celui ci est inclus dans la DLL.

-ouverture vers des possibilités : gestion données binaires voire géocodage, champs memo...

 

Inconvénients:

-il n' y a plus d'interface dans Topocad avec SQL mais il est possible d'utiliser SQL avec les fichiers dBase par l'intermédiaire de logiciels tiers (openoffice par ex). Le langage SQL fourni par le BDE était d'ailleurs trés pauvre.

-la compatibilité avec dBase des enregistrements effacés n'est pas assurée : attention donc avec les logiciels (dBase par ex) qui peuvent manipuler les enregistrements effacés (openoffice ne permet pas de lire les enregistrements effacés lors de la traduction en ods ou odb).

-actuellement un seul code page Windows 1252 géré (non internationalisation des fichiers sauf à les traduire ce dont sont capables la plupart des logiciels manipulant des fichiers dBase : ex openoffice) : attention donc à bien spécifier le code page windows 1252 lors d'une modification avec un logiciel tiers. Dans ce cas et afin que topocad reconstitue les index, il est préférable d'effacer les fichiers d'index des fichiers DBF modifiés.

 

Les entrées/sorties MAP ont été revues afin d'offrir une plus grande rapidité en gardant la même flexibilité car la compilation du même code donnait un executable trois fois plus lent à ce niveau (dû à la gestion nouvelle des flux par les compilateurs et l'allocation mémoire) : les formats d'entrée sortie dans les MAP sont donc désormais fixés par l'application. Le gain de temps est très notable surtout lors de fusion de deux documents MAP.

Certains bugs qui étaient dus à la gestion mémoire du compilateur Borland C++ 5.02 ont donc disparus (sortie lorsque une popup window etait présente) et d'autres ont été corrigés.

Le source est donc désormais totalement autonome et dépend uniquement du compilateur et du système d'exploitation : il a été compilé en 32 bits sous BC5.02, BCB2006, BCBXE3, MSVC2008, MSVC2010 tout sous environnement Windows XP ou Windows 7.