CALLOCX

Sommaire


Callocxpermet d'utiliser des OBJets COM (OLE, ActiveX,...).

 

Prérequis

Outre les interfaces standards, les OBJets appelés par l'instruction Callocxdoivent impérativement implémenter les interfaces suivantes :

 

Syntaxe

   Callocxretour=""with liste_param

 

Paramètres

Elément

Description

Restrictions

retour

retour d'information sous forme d'untableau de chaînes de caractères

spacer.gif (822 octets)

liste_param

Liste deid_param séparés par lecaractère ','.

Les expressions doivent êtrealphanumériques et sont limitées à 255.

 

Exemples

############################################################
#--- Création de l'OBJet graphique
Local Char RETOUR(20)
Callocx RETOUR="" With
& "X3Action=" +chr$(1)+ "1",
& "X3Identification=" +chr$(1)+"VtChartLib.VtChart",
& "X3Window=" +chr$(1)+ "0",
& "X3Left=" +chr$(1)+ "1",
& "X3Top=" +chr$(1)+ "1",
& "X3Right=" +chr$(1)+ "340",
& "X3Bottom=" +chr$(1)+ "200",
& "X3GetFile=" +chr$(1)+ filpath("GRAPH","Chart_line_1","vtc"),
& "Repaint=" +chr$(1)+ '10"%d"' +"0"

#--- Récupération du numéro d'identification del'OBJet
If (left$(RETOUR,9) = "X3Number=") Then
    GOCXID = mid$(RETOUR,11,1)
Endif

############################################################
#--- Modification de l'OBJet avec
# - titre et texte de pied
# - nombre de colonnes et lignes
# - nombre de labels de colonnes et de lignes
Local Char WCLI(255)
WCLI ="$ADXDIR\Report\GX3APP_gailf50_1801\Chart_line_1.vtc"
Callocx "" With
& "X3Action=" +chr$(1)+ "2",
& "X3Number=" +chr$(1)+ GOCXID,
& "ReadFromFile=" +chr$(1)+'30"%z"' + WCLI,
& "FootnoteText=" +chr$(1)+'10"%s"' + "pied de graphe",
& "TitleText=" +chr$(1)+ '10"%s"'+ "titre graphe",
& "ColumnCount=" +chr$(1)+'10"%d"' + "1",
& "RowCount=" +chr$(1)+ '10"%d"' +"6",
& "ColumnLabelCount=" +chr$(1)+'10"%d"' + "1",
& "RowLabelCount=" +chr$(1)+'10"%d"' + "6"

############################################################
#--- Chargement des données
Local Decimal WDAT(6)
WDAT(0)=20
WDAT(1)=40
WDAT(2)=65
WDAT(3)=15
WDAT(4)=10
WDAT(5)=10
For WROW = 1 To 6
   Callocx "" With
    & "X3Action=" +chr$(1)+"2",
    & "X3Number=" +chr$(1)+GOCXID,
    & "Column=" +chr$(1)+'10"%d"' + "1",
    & "Row=" +chr$(1)+'10"%d"' + num$(WROW),
    & "Data=" +chr$(1)+'10".s"' + num$(WDAT(WROW-1))
Next WROW

############################################################
# Chargement labels abscisse
For WROW = 1 To 6
Callocx "" With
    & "X3Action=" +chr$(1)+"2",
    & "X3Number=" +chr$(1)+GOCXID,
    & "RowLabelIndex="+chr$(1)+ '10"%d"' + "1",
    & "Row=" +chr$(1)+'10"%d"' + num$(WROW),
    & "RowLabel=" +chr$(1)+'10"%s"' + month$(WROW)
Next WROW

############################################################
# On repaint l'OCX et on active la fenetre
Callocx "" With
& "X3Action=" +chr$(1)+ "2",
& "X3Number=" +chr$(1)+ GOCXID,
& "X3Activation=" +chr$(1)+ "1",
& "Repaint=" +chr$(1)+ '10"%d"' +"1"
End

 

Description et commentaires

L'instruction Callocxpermet d'utiliser des OBJets COM (OLE, ActiveX,...).afin de présenter desrésultats sous forme graphique, par exemple.

Pour les graphes, une structure standard du graphique doit êtrepréalablement générée en Visual Basic sur PC. Elle est ensuite stockée sur leserveur dans le répertoire GRAPH du dossier et a pour extension *.vtc. Al'utilisation, elle est transférée et stockée sur le client dans le répertoirex3\report\dossier_serveur_port. Si cette structure est présente sur le posteclient, il n'y a pas de transfert à partir du serveur.  

Cette structure définit la présentation initiale, comme :

Cette présentation initiale est modifiable à l'exécution au niveau du posteclient. Les données modifiables sont :

 

Il existe des paramètres standards (qui commencent par X3 ) et desparamètres propres à l'OCX.

 

Les paramètres standards

Les paramètres sont passés sous la forme :

Paramètre = Indice + Valeur

Valeur doit êtrealphanumérique et limitée à 255. Valeur est précédé d'un indice sur un caractère qui permet deregrouper l'ensemble des valeurs pour un paramètre donné et donc de dépasser lalimite des 255 caractères pour ce paramètre.

Les paramètres standards à renseigner pour l'appel de l'Ocx  sont lessuivants :

Paramètre

Description

Valeur

X3Action

Exécuteune action pour l'OBJet

"1": Création
"2 ": Modification
"3" : Suppression
"4" : Donne accès à l'OBJet
"5" : Interrogation de l'OBJet

X3Number

Identifieun OBJet.
Ce numéro est renvoyé par X3 à la création de l'OBJet
Il doit ensuite être passé pour toute action sur ce même OBJet.

sur1 caractère.

X3Evenement

Permetde gérer ou non les évènements depuis l'OBJet COM
( à la création de l'OBJet )

"0"ou "1"

X3Message

Lesévènements que l'on souhaite recevoir.
Pour les chiffres négatifs, utiliser le DISPID avec complément à FF+1
exemple : un DISPID à oxfffffda6 devient -602

Numérode l'évènement

X3Identification

Identifiel'OBJet que l'on veut créer
Ce nom doit être indépendant de la version.

chaînecaractères

X3Window

Numérode la fenêtre sur laquelle on attache l'OBJet.
Si ce numéro est 0, une fenêtre désactivée de type dialog est créée poursupporter l'OBJet.
Sinon, cette fenêtre doit être définie au niveau de l'application X3 et ils'agira alors d'une activation
in-place.( version ultérieure)

"0"

X3Left

PositionGauche de l'OBJet en quart de colonne

positionnumérique

X3Top

PositionHaut de l'OBJet en huitième de ligne

positionnumérique

X3Right

PositionDroite de l'OBJet en quart de colonne

positionnumérique

X3Bottom

PositionBas de l'OBJet en huitième de ligne

positionnumérique

X3Activation

Activeou désactive la fenêtre supportant l'Ocx. Pour les traitements longs, il estnécessaire de désactiver la fenêtre pour éviter tout problème avec lesmanipulations de l'opérateur.

"0": désactivation
"1" : activation

X3GetFile

Chemind'accès et nom du fichier *.vtc sur le serveur

 

Les paramètres propres à l'Ocx

Chaque Ocx aura ses propres propriétés et méthodes. Les paramètres sontpassés sous la forme :

Paramètre = Indice + Zone de format+ Valeur

Indice : correspondà la continuation d'une valeur d'un même paramètre ( identique aux paramètresstandards).

Zone de format : estcomposé du Type de fonction demandé, d'un Sous-type (non utilisédans cette version) et entre guillemets le Format qui doit préciser letype de la donnée transmise et le caractère de séparation entre deux données.

Type de fonction :

1 : indique une propriété entrante (PUT)
2 : indique une propriété sortante (GET)
3 : indique une méthode

Sous-type :

0 : seule valeur permise pour cette version

Format :

"%d" : indique une zone numérique passée par valeur à l'OBJet
"%s" : indique une zone alphanumérique passée par valeur à l'OBJet
"%z" : indique une zone avec constante. Seule la constante ADXDIR estgérée dans cette version.
".s"   : indique une zone numérique à passer enalphanumérique à l'OBJet, et sur lequel il faut faire les transformations
           locales (caractèreséparateur décimal)

Séparateur :

1er exemple, "%d;%s" indique que la chaîne qui suit est composéed'une zone numérique et d'une chaîne alphanumérique que l'on trouvera après lepoint virgule.

2ème exemple, "%d;%s,%d" 123; test avec des chiffres 4563.23 ,45
donnera la valeur pour le 1er paramètre : 123
                                pour le 2ème              :    test avec des chiffres 4563.23
                                pour le 3ème               :    45

indique que la chaîne qui suit est composée d'une zone numérique et d'unechaîne alphanumérique que l'on trouvera après le point virgule.

# Par exemple, pour l'OCX de gestion des graphes(First impression 5), on aura :Callocx RETOUR="" With
& "X3Action="+chr$(1)+"2",
& "X3Number="+chr$(1)+GOCXID,
& "ReadFromFile="+chr$(1)+'30"%s"'+ "c:\trf\test.vtc",
& "ColumnCount="+chr$(1)+'10"%d"'+ "4",
& "RowCount="+chr$(1)+'10"%d"' +"5",
&"TitletextColumnCount="+chr$(1)+'10"%s"' + "C'est letitre du graphe",
&"MenuItemVisible="+chr$(1)+'10"%d,%d"' + "0,0"

#ReadFromFile est une méthode avec un paramètre de type chaîne.
#ColumnCount est une propriété entrante avec un paramètre numérique.
#RowCount est une propriété entrante avec un paramètre numérique.
#TitletextColumnCount est une propriété entrante avec un paramètre de type chaîne
#MenuItemVisible est une propriété entrante avec deux paramètres numériques
# séparés par une virgule.

Vous trouverez les informations concernant ces paramètres dans OLE ObjectViewer de visual Studio de Microsoft, par exemple.

 

Format du retour d'un évènement

990="format""valeurs"

Le format:

C'est une chaîne composée de :

La valeurs :

Elles sont décomposées selon le format.

Exemple :

#XF"la chaine" :  c'est une chaine de  35 caractèresalphanumériquesdont la valeur est "la chaine".

 

Remarques

Un ordre 5 ne peut renvoyer qu'une valeur.

Une propriété ne peut être accédée qu'une fois dans un message.

Il est nécessaire d'utiliser X3Activation pour gérer les tunnels depuis unOBJet.

Les évènements peuvent être négatifs.

 

Particularités Web

Non disponible en version Web.

Erreurs associées

Erreur

Description

 

 

 

Mots-clés associés


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved