Slt,
Je n'ai pas vraiment lu la discution, mais simplement ce post.
J'utilise le WM_CopyData mais je n'ai pas souvenir de pouvoir faire un
dialogue avec cela.
N'est-ce pas unidirectionnel comme passage de donnée ?
C'est-à-dire d'un prog extérieur vers un autre prog.

Pour SkypeTalking, je crains que tu te trompes...
 A ma connaissance Skype fourni 2 interface qui sont Skype4Com, utilisant le
COM, et SkypeConnect utilisant un socket.
Apparament SkypeTalking utilise Skype4Py qui est dérivé de Skype4Com.


-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de QuentinC
Envoyé : mardi 26 juin 2012 22:35
À : [email protected]
Objet : [progliste] commander 6pad depuis l'extérieur (étai t: Re: Re:
luaEditor)

Pour répondre à une des questions qui est passée dans cette discussion 
et qui s'adressait à 6pad. Un des deux Yannick demandait s'il était 
possible de commander le 6pad à partir d'un autre programme.
Pour le moment, ce n'est pas supporté, mais je pourrais l'envisager. La 
solution à ça n'est pas triviale, il faut faire de l'IPC (inter-process 
communication). IL y a plusieurs moyens de le faire :

1. COM: sans doute le moyen le plus pratique et le plus puissant pour 
les clients, c'est ce moyen qui est utilisé par exemple pour les 
produits office quand vous accédez à un objet word.application, etc.
Mais mettre en place un serveur COM n'est pas quelque chose de très 
facile, et ça condamnerait la portabilité de 6pad ce qui serait 
énormément dommageable (car un serveur COM doit obligatoirement être 
inscrit dans la base de registre pour fonctionner)

2. Les sockets réseau. Pas si compliqué à mettre en place, mais je n'ai 
pas envie d'implanter ça dans 6pad parce que c'est quand même plutôt 
lourd et ça a plein d'inconvénients dont la synchronisation, la 
sécurité... c'est à la fois une bonne et une mauvaise solution.

3. Les tubes nommés. Ca a le même genre d'inconvénient que les sockets, 
mais c'est tout aussi lourd quoique plus sécurisé. Par contre c'est 
encore plus lent que les sockets... et en plus ça se limite à une 
orientation flux alors qu'un système  par messages/paquets est beaucoup 
plus appropriée dans ce cas.

4. WM_COPYDATA. Si je décide de faire de l'IPC, je pense que je vais 
continuer dans cette voie. En fait j'utilise déjà ce système pour 
empêcher l'ouverture d'une deuxième instance de 6pad avec un fichier 
déjà en cours d'édition. Donc je pourrais l'étendre pour permettre 
exécuter un code lua depuis l'extérieur.
L'inconvénient de ce système, c'est qu'il est peut-être plus difficile à 
appréhender que les autres, parce que c'est en fait un système de 
passage de messages totalement asynchrones utilisant la boucle 
principale des évènements. Pour envoyer un message WM_COPYDATA, il faut 
savoir utiliser un minimum l'API windows, pouvoir récupérer un handle 
sur l'instance de 6pad ouverte, et la fonction SendMessage. Mais je 
pourrais faire une DLL proxy qui encapsule ça dans des fonctions C 
importables avec un FFI, p.ex. ctype en python. Le gros avantage, c'est 
que c'est facile à intégrer dans une application, et que la 
communication est directe et rapide. Pour info, c'est ce qu'utilise 
skype talking pour communiquer avec skype par exemple.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à
2 MO 

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je
vous répondrez en privé.
        
        

Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 
MO 

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à