PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Exécuter des traitements dans une application Windev depuis Webdev
Exécuter des traitements dans une application Windev depuis Webdev
Débuté par Développeur de Feu, 06 nov. 2018 11:53 - 1 réponse
Membre enregistré
48 messages
Popularité : +0 (2 votes)
Posté le 06 novembre 2018 - 11:53
Bonjour à tous les amis !

Alors je souhaiterais "piloter" de manière très simple une application Windev depuis mon site Webdev.
Le pilotage serait simplement :
Au clic d'un bouton sur mon site -> Ouverture de l'application et affichage d'un élément particulier de ma base (dans une fenêtre existante de mon application).

J'ai utilisé LanceAppli() pour lancer l'exécutable et lui passer les paramètres nécessaires, puis j'utilise LigneCommande() dans Windev pour récupérer mes paramètres et exécuter ce que je veux en fonction de ces derniers, cela fonctionne bien.

Mais mon problème est que cela fonctionne uniquement au démarrage de l'application, si mon application est déjà ouverte, cela ré-affiche uniquement la fenêtre de mon application sans effectuer le traitement désiré (ce qui me semble effectivement logique).
J'aimerai trouver un moyen (en utilisant peut-être autre chose que LanceAppli() et n'utiliser cette dernière que si ExeLance()=Faux, bref peu importe) de pouvoir demander à mon application Windev déjà ouverte, d'effectuer un certain traitement, via Webdev.

Dois-je utiliser un Timer dans Windev qui vérifie en boucle l'arrivée d'une nouvelle Ligne de commande (je ne sais pas si cela fonctionne comme ça) ?
Est-ce qu'utiliser un composant partagé par mon site est mon application pourrait s'avérer m'être utile ? (je débute avec pcsoft je ne m'y connais pas encore bien en ce qui concerne les Composants)

Je suis plus à la recherche de pistes que de code fonctionnel (même si je ne dirai pas non haha)

Merci d'avance pour votre temps et votre aide.
Je donnerai du nouveau si je parviens à trouver mon bonheur.

Des bisous, un développeur qui vous veut du bien.
Membre enregistré
950 messages
Popularité : +53 (63 votes)
Posté le 06 novembre 2018 - 12:12
Bonjour,

Lignecommande() ne fonctionne uniquement au lancement de l'application.

Tu utilise lanceappli() qui fonctionne car ton site est sur ta machine de développement mais si tu heberge ton site sur un serveur, le lanceAppli() lancera le programme sur le serveur et non sur le pc sur lequel tu affiche le site(client)

Il y a plusieurs solutions pour faire ce que tu souhaites, soit lancer un timer sur ton exe qui appel un webservice qui vérifie un id et sur le site tu viens mettre à jour ce même id, et quand l'application windows voit un nouvel id alors il s'ouvre et affiche.

Tu as aussi les socket au lieu des webservice.

Il y aussi les url du type "monappli://param", à appeler depuis ton site Web et que le système comprend qu'il ne faut acceder à un site mais à lancer une application installé, il y une lst qui parle de ça mais je ne sais plus laquelle.

C'est au moment d'installer ton exe que tu viens ajouter des paramètre en registre.

Jordan