PONX
est objet (serveur) COM, qui :

 

 Fonctions & Ponx Dynamique

 

Il existe une autre façon d'appeler les fonctions de PONX, en utilisant un autre aspect : PONX est également un serveur COM dynamique.

Cela veut dire que l'on peut appeler n'importe quelle fonction existante dans PONX, sans qu'elle soit publique. L'appel de la fonction se fait simplement comme si la fonction faisait partie du langage d'appel.

En plus des fonctions de PONX lui-même, on peut appeler toutes les fonctions des modules Python chargés, soit automatiquement par PONX, soit chargés à la demande.

 

 Programmable

Il est possible d'envoyer à PONX un code-source. Ce code est traité/exécuté. Le langage de base de PONX est Python. Mais, on peut utiliser plusieurs langages, respectant l'Active-Scripting de Microsoft : VBscript, JScript, Perl (PerlScript), Ruby (RubyScript).

Il est possible de définir ses propres fonctions. Dès que le code-source est exécuté, les fonctions deviennent utilisables, aussi bien par l'adressage indirect, que par l'adressage direct de PONX dynamique.

 

 Extensible

En plus des librairies et modules du langage Python, installés d'origine, il est possible d'ajouter les librairies Python de son choix.

Et, rien n'empêche de créer ses propres modules, ou ses propres fonctions.

Plusieurs extensions sont fournies avec Ponx, pour piloter Internet-Explorer, Word, Excel, OpenOffice.org ; pour travailler sur des ensembles de fichiers ; pour faire du FTP ; travailler avec les newsgroups et les e-mails ; etc.

Il existe aussi des outils additionnels, comme TPS (Télé-Persistence-Server), PeJBshell, ponxupdate.

 

 

  • apporte de nombreuses fonctions prédéfinies
  • est programmable (en Python)
  • est extensible

 

 Langages / applications possibles 

Ponx a d'abord été prévu comme une extension à Object-PAL (Paradox).  Toutefois, il peut être utilisé depuis de nombreux autres langages ou logiciels. Parmi ceux testés avec succès :

  • Python (évidemment)
  • C#
  • Perl
  • VB-script
  • JScript (Javascript/ECMAscript par Microsoft)
  • HTA (avec JScript ou VB-script)
  • RealBasic
  • Excel
  • Word
  • Outlook (mais pas Outlook-Express)
  • AutoIt
  • Delphi
  • Visual-Basic
  • Ruby
  • PHP
  • Corel-Draw
  • FreeBasic
  • Lua
  • ... et ceux que j'ai testé, mais dont j'ai oublié le nom

 

 Fonctions et paramètres 

Dans Ponx, il y a d'abord quelques fonctions directement appelables.

Mais, parmi ces fonctions, certaines peuvent contenir d'autres fonctions, sous forme de chaînes (strings). Cela permet d'accéder à des fonctions non publiques, par cet appel indirect.

L'appel des fonctions peut souvent contenir des paramètres. Soit dans la chaîne (en cas d'appel indirect), soit à la suite du nom de la fonction. La syntaxe peut varier, d'un langage à l'autre.
Les types de paramètres supportés peuvent varier, d'un langage à l'autre. Par exemple, les objets JScript, tels que les fonctions, ou les Array, passent, alors qu'Object-PAL ne sait pas envoyer un Array. Et, c'est similaire pour le retour.