Accueil
 

Référence Technique des Carto-Extensions

INSTALLATION

Le composant est fourni sous la forme standard spécifique à sa plateforme : une DLL pour windows, une librairie partagée sous MacOs, etc. L'emplacement du cartoextension est libre. Mais il ne fonctionnera que si vous fournissez un mot de passe dans un fichier "passe.txt". Pour les librairies (ActiveX, DLL, Plug-In), le fichier "passe.txt" doit être copié dans le même dossier que l'exécutable qui l'utilisera (exemple VB5.EXE ou 4D.EXE). Par contre pour C&D Serveur, ce fichier doit être placé dans le dossier de C&D Serveur.

Comme tous les programmes de la gamme C&D, nos installations sont restreintes au dossier dans lequel le programme réside. Aucun fichier n'est placé ou modifié dans les dossiers du système, ni dans les registres Windows. L'ActiveX présente toutefois une exception liée à sa nature, voir ci-dessous.

SPECIFICITES:

ActiveX

Fichiers fournis : CartoExtension.dll , reg.bat, unreg.bat, regsvr32.exe

Installation : mettre tous les fichiers dans un dossier au choix, puis double cliquez sur "reg.bat" (*). Placer également le fichier "passe.txt" contenant votre mot de passe dans le dossier de l'application qui va utiliser le composant (par exemple "C:\VisualBasic\".

(*) : Sous Windows Vista, cette procédure échoue car il faut les droits administrateur. En conséquence, faire un clic droit sur "Invite de commande" dans "Accessoires" et sélectionner dans le menu déroulant "Exécuter en tant qu'administrateur". Dans la console, aller dans le répertoire de l'ActiveX et y lancer "reg.bat". Il faut suivre cette même procédure pour désinstaller le composant en utilisant cette fois "unreg.bat"

L'ActiveX peut être placé n'importe où dans votre disque, mais ne doit jamais être déplacé. En effet, la procédure d'enregistrement ("reg.bat") mémorise le chemin d'accès dans la base de registres. Le composant devient ainsi disponible à tous les objets windows sachant utiliser la technologie COM.
En cas de déploiement, cette procédure doit être répétée sur tous les postes déployés.

Plug-In pour 4D

Fichiers fournis :

  • Pour windows : CartoExtension.4dx, CartoExtension.rsr
  • Pour MacOs 9 et X : CartoExtension

Installation : mettre tous les fichiers dans un dossier nommé Win4DX sous Windows ou Mac4DX sous MacOs. Placer ce dossier dans le répertoire de votre base de donnée. Placer ensuite le fichier "passe.txt" dans le dossier de 4D en suivant les instructions suivantes :

  • Pour une base 4D monoposte sous Windows ou sous MacOSX, le fichier "passe.txt" doit être placé dans le dossier de 4D au même endroit que le programme "4D.exe" (pour Windows) ou "4e Dimension" (pour Mac). Sous MacOS9, s'il s'agit d'une version carbonisée de 4D (à partir de la 6.8), il faut ouvrir le paquet (Control-Clic pour avoir le menu, et choisir "Afficher le contenu du paquet"), et placer le fichier dans "Contents/MacOS".
  • Pour une base 4D Client/Serveur, copier le fichier "passe.txt" sur le poste client au même endroit que le programme "4DClient".

ATTENTION: le Plug-In étant assez gourmand en mémoire, sous MacOs9 il est conseillé d'augmenter la mémoire allouée à 4D.

D'autre part, les chemins d'accès pour MacOs9 et pour MacOsX sont gérés différemment, voir la description des chemins d'accès dans la page Script.

C&D Serveur

Fichiers fournis : cdserver.exe, cdserver.conf

Voir la documentation spécifique à C&D Serveur.

Librairie Java / C

Fichier fournis : CartoExtension.dll, CartoExtension.lib (pour le C)

  • Pour C : linkez avec la librairie ".lib", et placez la dll ainsi que votre fichier "passe.txt", dans le dossier de votre exécutable.
  • Pour Java : placez la dll et le fichier "passe.txt", dans le dossier JAVA_HOME/bin (par exemple : C:\jdk1.2\bin)

Présentation de l'API

L'ensemble des commandes, ainsi que les intitulés de thèmes sont en anglais.

1) Administration
Cette section contient les fonctions pour gérer les instances et l'environnement système :

  • Destruction des instances créées
  • Information sur la licence en cours
  • Lecture d'un fichier de symboles personnalisés
  • Ajout de polices de caractères

2) Frame
Cette section contient les fonctions pour manipuler le cadrage, le zoom et les coordonnées image :

  • Changer le zoom
  • Décaler la carte dans l'image
  • Obtenir les coordonnées réelles des objets dans l'image
  • Retrouver le cadrage sélectionné

3) Display
Cette section contient les fonctions nécessaires à l'affichage et à la gestion des légendes. L'affichage n'est pas disponible pour la DLL simple, ni pour C&D Serveur.

4) Exports

  • Export image png et jpeg
  • Export vectoriel Postscript
  • Fabrication d'une "image map" pour intégration dans une page html
  • Nettoyage intelligent des dossiers d'export

5) Interactivity
Cette section fournit les fonctions permettant de gérer le clic souris :

  • Quel objet a été cliqué, dans le formulaire ou dans l'image exportée
  • Informations textuelles sur les données associées à cet objet

6) Working on diagrams
Gestion des organigrammes :

  • Ouverture d'un organigramme sur le disque, ou directement en fournissant le texte du fichier "***.cd"
  • Récupération de l'organigramme modifié pour backup etc...
  • Exécution de l'organigramme
  • Erreurs de traitement
  • Nettoyage

7) Working on values
Manipulation des valeurs dans l'organigramme :

  • Gestion du nombre d'éléments dans une liste de paramètres
  • Modification et récupération d'une valeur de paramètre

8) Walking in the tree
Cette section permet d'ouvrir et de fermer des modules comme on le ferait à la souris dans C&D. On peut se déplacer dans l'ensemble des paramètres disponibles pour le module.

9) Formulas
L'API fournit aussi la capacité d'exécuter des formules quelconques. Par exemple, en donnant

  • A=52
  • B=78
  • formule = "A/log(B)*55"

l'instance fournira la valeur calculée. Ce sont les mêmes formules que dans les modules de calcul et filtre.

10) Geocoding

  • Géocodage d'adresse à l'unité ou par groupe important.
  • Fabrication du nuage de points, et des comptages par communes, etc. (voir géocodage)

11) Communication with Cartes & Données

  •  uniquement pour le Plug-In 4D
  • Permet d'ouvrir C&D et de lui fournir un organigramme placé dans une table 4D. Ainsi on peut modifier l'organigramme sans avoir à sauver le fichier sur le disque.

INSERTION DANS UN FORMULAIRE

L'ActiveX et le Plug-In peuvent être insérés dans un formulaire pour une visualisation des cartes dans l'application. Cependant, cette étape n'est pas obligatoire.

Pour insérer une instance de l'extension dans un formulaire, suivez les instructions correspondant à votre outil de développement (4D, Delphi, Visual C++, Visual Basic...).

Par exemple:

Dans VB, insérez un objet OLE en cliquant sur le bouton OLE de la palette d'objets, puis en dessinant un rectangle dans le formulaire. Une liste d'objets à insérer apparait :

  • Soit l'objet du type "Cartes & Données ActiveX Control V 4.0" est présent dans la liste, auquel cas sélectionnez-le
  • Soit il n'y est pas, annulez la liste et allez dans les propriétés de l'objet OLE, dans la zone "Class" sélectionnez "articque.cdx40.1". Puis avec un clic droit sur l'objet, créez l'objet (Create Embedded Object)

Puis, changez le paramètre "SizeMode" en mettant "Stretch", puis le paramètre "AutoActivate" en mettant "Manual". Changez son nom (ex: carte1). Pour appeler des fonctions d'une instance ainsi insérée, utilisez le paramètre "object". Ex: Call carte1.object.cd_close("instance_name") .

Dans 4D, ajoutez une variable "Zone de Plug-In" à votre formulaire, puis choisissez comme type : le plug-in "Carte". Changez le nom de variable (ex: carte1). Pour appeler des fonctions d'une instance ainsi insérée, utilisez ce nom comme premier paramètre de la fonction. Ex: $ret:=cd_close("instance_name") .

Lorsque les paramètres nécessaires auront été positionnés, la carte s'affichera dans cette zone. Un clic sur l'un des objets fournira au développeur des informations sur l'objet et ses données associées.

Par défaut, la carte s'affichera dans un rectangle de 100x100, les légendes et autres décorations ne seront pas apparentes (voir cd_setlayer).