J'ai trouvé un code ici (1) qui répond à ce que je cherche. Le problème
est que parfois quand NetShareEnum est lancé le délai avant la réponse
peut être très long et cela bloque l'appli.
Du coup j'ai suivi le guide ici (2) et crée un activeX exe qui
fonctionne mais le problème est identique car dans mon appli lorsque
activeX est appelé alors qu'il n'a pas fini de traiter une demande
précedente j'ai une fenêtre de dialogue qui m'explique qu'il faut
attendre ou basculer vers, bref le problème est le même.
Alors je me suis dit qu'en cas de délai trop long, la réponse de
l'activeX ne m'intéresse plus alors je peux tuer le process exe qu'est
l'activeX.
Mais cela génère une autre erreur "le serveur distant n'existe pas ou
plus" quand on relance une demande sur cet activeX
Question A) est-il possible de relancer l'activeX depuis l'appli ?
Question B) est-il possible de créer une appli en vb qui retournerait
le résultat d'une commande dans une variable récupérable par une autre
appli ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-marc
bahn po wrote:
Bonjour,
Hello,
Question B) est-il possible de créer une appli en vb qui retournerait le résultat d'une commande dans une variable récupérable par une autre appli ?
Dans une variable, non.
MAIS en revanche, il est très simple d'écrire le résultat dans un fichier, qui lui peut être aisément lu par une autre appli.
C'est un moyen simple et portable d'échanger de l'info entre 2 applis.
Pour lancer un autre exe depuis une appli VB, il y a plusieurs méthodes en fonction de ce que tu recherches. Pas mal d'exemples ici dans notre FAQ: http://faq.vb.free.fr/index.php?question=7 http://faq.vb.free.fr/index.php?question2
Ces articles contiennent en plus de niombreux liens (section "Aller plus loin") vers de la documentation ou d'autres exemples.
Note: pour communiquer efficacement et éviter des problèmes de locking, une bonne façon de faire est la suivante.
Soit les 2 applis devant échanger des infos : A et B On décide que A lance B, et que B doit écrire ses résultats dans un fichier "response.txt". A devra donc lire ce fichier, mais seulement quand celui ci est rempli (donc que B a fini de l'écrire).
Pour synchronizer, voici un moyen simple:
A détruit si ils existent 2 fichier : response.txt et sentinel.txt A lance B A se met à attendre que le fichier sentinel.txt existe à nouveau
-- pendant ce temps ... --
B est lancé et fait ses calculs, process, etc. Quand il a les résultats, il les écrit dans response.txt PUIS enfin, B créé un fichier vide : sentinel.txt puis B s'arrete.
A ce moment, A verra apparaitre un fichier sentinel.txt, ce qui indique à coup sur que response.txt est prêt à être lu pour obtenir les résultats de B.
Question B) est-il possible de créer une appli en vb qui retournerait
le résultat d'une commande dans une variable récupérable par une autre
appli ?
Dans une variable, non.
MAIS en revanche, il est très simple d'écrire le résultat dans un fichier,
qui lui peut être aisément lu par une autre appli.
C'est un moyen simple et portable d'échanger de l'info entre 2 applis.
Pour lancer un autre exe depuis une appli VB, il y a plusieurs
méthodes en fonction de ce que tu recherches. Pas mal d'exemples
ici dans notre FAQ:
http://faq.vb.free.fr/index.php?question=7
http://faq.vb.free.fr/index.php?question2
Ces articles contiennent en plus de niombreux liens (section
"Aller plus loin") vers de la documentation ou d'autres
exemples.
Note: pour communiquer efficacement et éviter des problèmes de locking,
une bonne façon de faire est la suivante.
Soit les 2 applis devant échanger des infos : A et B
On décide que A lance B, et que B doit écrire ses résultats
dans un fichier "response.txt".
A devra donc lire ce fichier, mais seulement quand
celui ci est rempli (donc que B a fini de l'écrire).
Pour synchronizer, voici un moyen simple:
A détruit si ils existent 2 fichier : response.txt et sentinel.txt
A lance B
A se met à attendre que le fichier sentinel.txt existe à nouveau
-- pendant ce temps ... --
B est lancé et fait ses calculs, process, etc.
Quand il a les résultats, il les écrit dans response.txt
PUIS enfin, B créé un fichier vide : sentinel.txt
puis B s'arrete.
A ce moment, A verra apparaitre un fichier sentinel.txt, ce qui
indique à coup sur que response.txt est prêt à être lu pour
obtenir les résultats de B.
Question B) est-il possible de créer une appli en vb qui retournerait le résultat d'une commande dans une variable récupérable par une autre appli ?
Dans une variable, non.
MAIS en revanche, il est très simple d'écrire le résultat dans un fichier, qui lui peut être aisément lu par une autre appli.
C'est un moyen simple et portable d'échanger de l'info entre 2 applis.
Pour lancer un autre exe depuis une appli VB, il y a plusieurs méthodes en fonction de ce que tu recherches. Pas mal d'exemples ici dans notre FAQ: http://faq.vb.free.fr/index.php?question=7 http://faq.vb.free.fr/index.php?question2
Ces articles contiennent en plus de niombreux liens (section "Aller plus loin") vers de la documentation ou d'autres exemples.
Note: pour communiquer efficacement et éviter des problèmes de locking, une bonne façon de faire est la suivante.
Soit les 2 applis devant échanger des infos : A et B On décide que A lance B, et que B doit écrire ses résultats dans un fichier "response.txt". A devra donc lire ce fichier, mais seulement quand celui ci est rempli (donc que B a fini de l'écrire).
Pour synchronizer, voici un moyen simple:
A détruit si ils existent 2 fichier : response.txt et sentinel.txt A lance B A se met à attendre que le fichier sentinel.txt existe à nouveau
-- pendant ce temps ... --
B est lancé et fait ses calculs, process, etc. Quand il a les résultats, il les écrit dans response.txt PUIS enfin, B créé un fichier vide : sentinel.txt puis B s'arrete.
A ce moment, A verra apparaitre un fichier sentinel.txt, ce qui indique à coup sur que response.txt est prêt à être lu pour obtenir les résultats de B.
MAIS en revanche, il est très simple d'écrire le résultat dans un fichier, qui lui peut être aisément lu par une autre appli.
C'est un moyen simple et portable d'échanger de l'info entre 2 applis.
Pour lancer un autre exe depuis une appli VB, il y a plusieurs méthodes en fonction de ce que tu recherches. Pas mal d'exemples ici dans notre FAQ: http://faq.vb.free.fr/index.php?question=7 http://faq.vb.free.fr/index.php?question2
(...)
Simple, portable, efficace.
Bonne suite!
Merci pour ta réponse. Je vais donc utiliser un fichier pour contrôler le résultat.
Bonne journée.
Jean-marc a formulé la demande :
Dans une variable, non.
MAIS en revanche, il est très simple d'écrire le résultat dans un fichier,
qui lui peut être aisément lu par une autre appli.
C'est un moyen simple et portable d'échanger de l'info entre 2 applis.
Pour lancer un autre exe depuis une appli VB, il y a plusieurs
méthodes en fonction de ce que tu recherches. Pas mal d'exemples
ici dans notre FAQ:
http://faq.vb.free.fr/index.php?question=7
http://faq.vb.free.fr/index.php?question2
(...)
Simple, portable, efficace.
Bonne suite!
Merci pour ta réponse. Je vais donc utiliser un fichier pour contrôler
le résultat.
MAIS en revanche, il est très simple d'écrire le résultat dans un fichier, qui lui peut être aisément lu par une autre appli.
C'est un moyen simple et portable d'échanger de l'info entre 2 applis.
Pour lancer un autre exe depuis une appli VB, il y a plusieurs méthodes en fonction de ce que tu recherches. Pas mal d'exemples ici dans notre FAQ: http://faq.vb.free.fr/index.php?question=7 http://faq.vb.free.fr/index.php?question2
(...)
Simple, portable, efficace.
Bonne suite!
Merci pour ta réponse. Je vais donc utiliser un fichier pour contrôler le résultat.
Bonne journée.
Jean-marc
bahn po wrote:
Jean-marc a formulé la demande :
Merci pour ta réponse. Je vais donc utiliser un fichier pour contrôler le résultat.