| Fermer un .exe lancer par execute par son prog mère | |
|
|
Auteur | Message |
---|
topmozika
Nombre de messages : 79 Age : 63 Localisation : Antananarivo - Madagascar Date d'inscription : 09/06/2012
| Sujet: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 11:00 | |
| Bonjour les amis! J'aimerais bien avoir votre aide sur ce petit caprice que j'ai remarqué : 1- en DBASE, les sous programmes peuvent être créés dans des fichiers indépendants (avec des extensions au choix de l'auteur) pour ne pas trop surcharger le programme mère, ce qui n'existe pas en panoramic (ou c'est moi qui n'est pas encore à la hauteur de connaitre tous les commandes ou syntaxe de panoramic ), donc ce qui m'a poussé pour le moment en Panoramic, de compiler ces sous programmes en fichiers.exe que je lance à partir du programme mère par "execute". 2- ma question est la suivante : Comment faire pour que les sous programmes.exe lancés soient fermés directement avec la fermeture du programme mère, sans quitter tour à tour les sous programmes ouvert ? est ce qu'il y a un lien pour qu'ils soient dépendants du programme mère? Merci d'avance A+ | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 11:50 | |
| Salut Je ne vois pas comment faire, actuellement tu peux faire attendre ton programme mère avec EXECUTE_WAIT. Ce qu'il te faudrait c'est une commande TERMINATE "Programme_Enfant.exe" , Mais elle n'existe pas. A+ EDIT: Ce serait une modification de TERMINATE. (Encore une... ) | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 11:58 | |
| Il faut que tu passes le handle du programme principal à tes sous programmes Dans tes sous programmes, il faut qu'avec un timer tu vérifie que le programme existe toujours, s'il n'existe plus, tu gère la sortie 'propre' du sous programme (fin des traitements puis terminate)
Voilà, ce serait mon idée pour le faire, mais il y a peut-être d'autres astuces plus simples. | |
|
| |
Invité Invité
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 12:25 | |
| Bonjour, J'avais déjà montrer une méthode pour passer des paramètres. J'ai fait une recherche rapide, mais je ne retrouve pas, ni dans mes fichiers, donc j'ai fait un essai rapide . exemple d'une partie du code du programme Panoramic à fermer: - Code:
-
' prg 1 il est appelé par un autre programme, et celui-ci est compilé clipboard_string_copy "":' on efface le presse papier dim a$ :label teste_reception top 0,500 timer 1:timer_interval 1,1000:on_timer 1,teste_reception :timer_on 1 ' on arrète le programme end teste_reception: a$=clipboard_string_paste$ ' timer_off 1 if a$="on arrète le programme" then terminate return Ce programme est celui compilé, et ici enregistré sous" prgAfermer.exe" Le programme appelant gérant la fermeture de l'ensemble - Code:
-
execute "prgAfermer.exe":' le programme Panoramic que l'on veut fermer dim a$,stop% pause 2000 if message_confirmation_ok("est-ce qu'on ferme le programme?")=1 a$="on arrète le programme" clipboard_string_copy a$ terminate end_if
Je vois le poste de Jicehel. Je ne sais pas si tu peux récupérer le handle de la fenêtre Panoramic avec DBase, mais si tu peux copier une phrase, alors tu peux te servir de ce principe. |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 5 Juil 2012 - 13:21 | |
| Je pensais à une solution du même type mais avec stockage sur un petit *.txt car si le presse papier est déjà utilisé pour une raison x ou y par ton prog principal....tu perds tes données . | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 13:38 | |
| @topmozika: Je pense qu'avec le code de Cosmos, tu as déjà une sérieuse piste pour faire tes sous programmes avec comme le disais ygeronimi peut être quelques adaptations à faire selon ton usage (fichier .txt enregistré quelque part sur ton disque et supprimé quand on ferme le programme principal par exemple avec un test dans les programmes externes) | |
|
| |
topmozika
Nombre de messages : 79 Age : 63 Localisation : Antananarivo - Madagascar Date d'inscription : 09/06/2012
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 16:02 | |
| Ouufff! c'est maintenant que je reviens de la brousse car je cultive de l'oignon pour les réunionnais alors je vois que j'ai pas mal de réponse dont je vais m'y atteler, et je vous rejoindrais dès qu'il y a de nouveaux. Merci à tous et bonne continuation A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 19:52 | |
| J'avais déjà fait un log post cet après-midi, mais il y a eu un plantage, et j'ai tout perdu. Maintenant j'ai le temps de recommencer, donc voici ce que j'ai à te dire:
Tu ne peux pas du tout faire avec Panoramic ce que tu décris dans ta demande initiale !
Pourquoi ? Un programme Panoramic est un ensemble homogène, non différencié, de lignes contenant des commandes. Ces commandes sont exécutées dans l'ordre. Certaines commandes permettent de modifier le flux de l'exécution, comme ON_xxx, GOTO, GOSUB, RETURN, END. Elles sont en rapport avec des "labels" qui sont de simples marque-pages (ancres sur une page web) qui peuvent être la cible d'un GITO, GOSUB etc. Mais un label n'introduit en aucun cas une section séparée, distincte du reste du programme ! Tu peux atteindre un label par chacune de ces commandes modifiant le flux. Tu peux atteindre le même label par un GOSUB et un GOTO. Et gare à toi si tu fais un RETURN après avoir atteint le label par GOTO ... BOUUUUUUUUUUUm ! Panoramic ne connait pas non plus de variables locales ou privées. Chaque variable (et chaque label, d'ailleurs) est visible partout dans le programme quelque soit l'endroit de sa définition.
Tout cela montre que tu ne peux absolument isoler une partie du code, le compiler séparément en un EXE et espérer l'exécuter en pseudo-sous-programme.
Mauvaise nouvelle, n'est-pas ?
Mais Panoramic a plus d'un tour dans son sac ! Il y a d'autres façons d'arriver à faire ce que tu veux obtenir.
Tu crées autant de programmes Panoramic indépendants que de pseudo-sous-programmes que tu veux réaliser. Pour chacun, tu lui définies ses variables, éventuellement ses objets visuels. S'il ne doit rien afficher, tu fais un HIDE 0 tout au début. Comment l'exécuter ? par EXECUTE_WAIT suivi du nom du fichier EXE. Ton programme principal continuera lorsque le programme appelé sera terminé. Comment lui passer les infos nécessaires: ton programme principal doit créer un fichier TXT banal, dans lequel il écrit chaque info, le plus simple est d'écrire une info par ligne. Ton pseudo-programme ouvre et lit ce fichier et récupère ainsi ses infos. Comment récupérer le résultat: ton pseudo-sous-programme crée à son tour un fichier TXT de résultat, et ton programme principal ouvre et lit ce fichier pour récupér le résultat.
Et voilà. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 20:16 | |
| Tu peux aussi utiliser le presse-papier... | |
|
| |
topmozika
Nombre de messages : 79 Age : 63 Localisation : Antananarivo - Madagascar Date d'inscription : 09/06/2012
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère Jeu 5 Juil 2012 - 20:39 | |
| | |
|
| |
Contenu sponsorisé
| Sujet: Re: Fermer un .exe lancer par execute par son prog mère | |
| |
|
| |
| Fermer un .exe lancer par execute par son prog mère | |
|