Gestion de deux application OLE simultanement

cs_andrebernard Messages postés 404 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 - 27 mai 2008 à 15:57
cs_andrebernard Messages postés 404 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 - 27 mai 2008 à 16:27
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 mai 2008 à 16:14
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")
0
cs_andrebernard Messages postés 404 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 1
27 mai 2008 à 16:20
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 :-)
0
cs_andrebernard Messages postés 404 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 1
27 mai 2008 à 16:27
J'suis dégouté, j'ai un message d'erreur :
Le composant ACTIVEX ne peut creer l'objet
0
Rejoignez-nous