Bonjour,

J'ai un programme qui utilise des serveurs DCOM. Pour me connecter à ces serveurs, j'utilise la fonction CreateRemote(). Cette fonction prend en paramètre l'@IP du serveur.

Quand le PC distant n'est pas allumé, j'ai une erreur HR CHECK qui s'affiche à l'ecran. Cette erreur est lancée par OleCheck. Voici la doc:
OleCheck est utilisé pour envelopper de nombreuses routines COM, pour que si la routine échoue, l'utilisateur pourra la gérer dans l'exception déclenchée.

Si ECode est inférieur à zéro, OleCheck déclenche une exception EOleSysError contenant le code d'erreur.
J'aimerais que cette erreur n'apparaisse pas à l'ecran, mais je ne sais pas comment faire.

De plus, je voudrais attraper l'exception lancée, mais je n'y arrive pas.

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
		//Création du serveur de calcul distant 
		WideString addrServ = serverAddr;
		TCOMIObjetRun objetDistant;
		try
		{
			objetDistant = CoObjetRun::CreateRemote(addrServ.c_bstr());
		}
		catch(Comobj::EOleSysError &eOE)
		{
			texte = "";
        }
Je ne passe jamais dans le catch, mais je ne comprend pas pourquoi.
Je n'ai pas trouvé de doc correcte concernant la fonction CreateRemote.

Quelqu'un peut-il m'aider?