IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

Faire un appel genre DCOM ou RPC sur deux instances déjà chargées sur le même PC


Sujet :

API, COM et SDKs Delphi

  1. #1
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 651
    Points : 25 405
    Points
    25 405
    Par défaut Faire un appel genre DCOM ou RPC sur deux instances déjà chargées sur le même PC
    Je continue donc mon délire architecturel !

    Après avoir contourné le TDispatchSilencer dans mes events, je suis confronte à un problème !

    J'ai donc un Objet Automation (dans ma DLL)
    J'ai des fonctions A, B et C et les Events OnA, OnB et OnC
    Lorsque l'on appele la fonction A cela déclenche OnA...
    Evènement par ConnectionPoints, InterfaceConnect...

    J'ai une application Delphi qui instancie l'Objet Automation (Objet APP), lance une fonction pour initialization et s'accroche aux Evènements de l'Objet

    J'ai un CGI lancé par Apache contenant un WebService, il instancie aussi l'Objet Automation (Objet CGI) et appelle des Méthodes qui n'ont qu'un seul but déclencher les Evènements

    Bien sur, deux Instances différentes du même Objet Automation dans Deux Processus différents, je veux donc que lorsque sur Objet CGI on appelle une fonction cela déclencher sur Objet APP

    Je suis parti donc dans un délire sur CreateFileMapping et MapViewOfFile pour un échange de données entre les deux Instances !
    J'aurais pu faire du TCP\IP (Trop Banal et FireWall à configurer) mais comme je n'ai encore jamais fait de CreateFileMapping\MapViewOfFile avec Event et Mutex, c'est par pur expérimentation !

    Si vous connaissez un VRAI moyen basé sur DCOM ou RPC (ou autre) sans que cela soit trop compliqué à déployer pour qu'une Instance d'un Objet puisse lancer du code de l'Instance d'un autre Objet proprement, je suis ouvert !

    Le déploiement doit se limiter à la copie de DLL dans Apache + Register ActiveX ! Ce n'est pas moi qui déploirait et mieux, je ne serais même plus dans la boite lors du déploiement !

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 651
    Points : 25 405
    Points
    25 405
    Par défaut
    Pour information, j'ai trouvé RegisterActiveObject en Delphi et j'ai vu que com_get_active_object existe en PHP pour récupérer une instance enregistré !

    J'ai pensé à cela à cause de Word que l'on peut utiliser même si déjà chargé !
    Et cela fonctionne !
    Mais c'est très lent à cause de problème de Thread, ben oui, le PHP est lancé via un CreateProcess dans le Thread Main car avant c'était une opération bloquante, j'avais un WaitSingleObject qui sniffait les Pipes donc le Echo du PHP par exemple, mais avec un TimeOut de 10ms, ce qui évidemment pose problème, je suis passé à zéro (je n'ai pas trop de conso proc donc cool)

    J'avais prévu ce mode de connexion dans mon code dès le début du projet mais cela manquait vraiment de fun !

Discussions similaires

  1. Connexion sur deux instances avec Perl:DBI
    Par karbox dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/06/2010, 14h53
  2. [AC-2007] Mise en forme conditionelle sur un état une ligne sur deux
    Par Razorback dans le forum IHM
    Réponses: 2
    Dernier message: 21/04/2009, 13h23
  3. faire deux totaux en SQL sur deux tables
    Par cantador dans le forum SQL
    Réponses: 3
    Dernier message: 18/03/2009, 22h04
  4. Réponses: 1
    Dernier message: 30/07/2008, 15h11
  5. Comment Stop deux instances de Jonas sur la même machine
    Par rachidBahja dans le forum JOnAS
    Réponses: 1
    Dernier message: 27/10/2006, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo