Gestion de deux application OLE simultanement

Signaler
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
-
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
-
Bonjour à tous

Voila je gere par AUTOMATION un emulateur IBM
Le probleme c'est que je peux avoir besoin de gerer deux sessions avec le meme emulateur, et des parametres differents.

J'ouvre donc une premiere application,

Shell "C:\Program Files\extra.exe " + App.Path + "\A.edp", vbNormalFocus

Je créé la liaison COM

Set System = CreateObject("EXTRA.System")   ' Gets the system object
Set System = GetObject(, "EXTRA.System")  ' Gets the system object
Set SessionTGC = System.ActiveSession

Puis j'envois de données à l'emulateur
  
SessionTGC.Screen.row = 15
SessionTGC.Screen.Col = 30
SessionTGC.Screen.SendKeys ("Coucou A")

Je recommence l'operation

Shell "C:\Program Files\extra.exe " + App.Path + "\B.edp", vbNormalFocus
Set System = CreateObject("EXTRA.System")   ' Gets the system object
Set System = GetObject(, "EXTRA.System")  ' Gets the system object
Set SessionTGC = System.ActiveSession
SessionTGC.Screen.row = 15
SessionTGC.Screen.Col = 30
SessionTGC.Screen.SendKeys ("Coucou B")

Jusque la tout va bien, le probleme, c'est lorsque je ferme mon programme et que je le relance avec les deux emulateurs deja en route.
Comment faire pour attribuer les nouvelles sessions a chaque emulateur pour pouvoir a nouveau ecrire simultanement dedans.
En un mot comment creer les objets COM en utilsant les handles des emulateurs deja créé

Je vous remercie de votre aide
Bonne journée

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
http://msdn.microsoft.com/en-us/library/kdccchxa(VS.85).aspx

j'y lit:

Some applications allow you to activate part of a file. Add an exclamation point (!) to the end of the file name and follow it with a string that identifies the part of the file you want to activate. For information on how to create this string, see the documentation for the application that created the object.

je me dit que ca peut etre une piste

Set System = GetObject(, "EXTRA.System!B.edp")
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Bonjour RENFIELD
Content de te parler à nouveau

Et merci de ta reponse rapide dont j'ai un grand besoin.
Je vais tout de suite jeter un "zieu" ou tu m'as dit :-)
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
J'suis dégouté, j'ai un message d'erreur :
Le composant ACTIVEX ne peut creer l'objet