Invité Invité
| Sujet: exemple d'un programme déchargeant un travail sur un autre Lun 20 Aoû 2012 - 0:51 | |
| Bonsoir (toujour cosmos70, et non 39 - j'étais seulement chez mon fils) pour Papydall En lisanr les post que vous avez fait, et pour le programme de jeux, dont le son ralenti l'animation, j'ai pensé remettre de façon simple le transfert d'un travail à un autre programme. La méthode est de faire un programme qui reçoit les ordres et les exécute de son coté, et de l'exécution de son propre code, sans s'occuper d'autre chose. Cela concerne le Panorabrique. Donc il y a deux programmes. Celui du son est à enregistrer comme exécutable. Le deuxième programme est un exemple pour envoyer des ordres aux premier. C'est à tester, et voir si vous en adoptez le principe. Il faut une DLL de Klaus qui est IPC.dll, quoique avec le dernier KGF, on doit obtenir le même résultat. PROGRAMME DE SONS - Code:
-
rem réceptionne les ordres et produit un son correspondant width 0,200:height 0,80 dim prg_B$ , ID_recoi% ,ID% ,handle% , recu$ label message_recu ID% = 1 : ' à modifier selon le programme
prg_B$ = "Music midi" :' celui du récepteur pour les sons ID_recoi% = -2222
caption 0,prg_B$:' celui-ci est le programme en arrière plan pour le son edit ID%:left id%,id_recoi% : top id%,id_recoi% on_change id%,message_recu midi_on
END ' ==============================================================================
message_recu: recu$=text$(ID%) if recu$ = "bip" then Midi_Instrument 24 : Midi_play 60,10 : ' Rebond à droite if recu$ = "zap" then Midi_Instrument 127 : Midi_play 60,10 if recu$ = "stop" then midi_off :terminate ' les sons ont été copié à partir du programme de Jicehel, et n'ont pas de correspondance avec le nom donné return
Le lanceur: - Code:
-
rem envoi ordre de son, à un programme au travers d'un EDIT et sauvegardé en "z:\recoi_sons.exe" left 0,300 dim prg_B$, ID_recoi% ,ID% ,handle% ,mes$ , res% : ' prg_A$ ,ID_envoi% : inutile label envoyer_message dll_on "H:\TESTE\MULTI_PROG\A\IPC.dll" ' prg_A$ = "Programme JEU" : inutile prg_B$ = "Music midi" :' celui du récepteur pour les sons ' ID_envoi% = -1111 : inutile ID_recoi% = -2222
id% = 1 :' N° de l'objet edit, selon le programme list id% : item_add id%,"bip" : item_add id%,"zap" : item_add id%,"stop" on_click id%,envoyer_message
execute "z:\recoi_sons.exe" :' c'est l'adresse de l'autre programme de sons wait 2000
END ' ==============================================================================
envoyer_message: mes$ = item_index$(id%) handle% = dll_call3("IPCGetHandle",adr(prg_B$),len(prg_B$),ID_recoi%) res% = dll_call3("IPCSendMessage",adr(mes$),len(mes$),handle%) return
C'est KLAUS qui est l'auteur du principe, donc les remerciement vont à Klaus. Donc vous faites un exécutable du premier, et vous lancez le second EDIT: J'ai retiré dans chaque programme, les variables inutiles, Il n'y a qu'un sens d'envoi.
Dernière édition par cosmos70 le Lun 20 Aoû 2012 - 7:10, édité 1 fois |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: exemple d'un programme déchargeant un travail sur un autre Lun 20 Aoû 2012 - 0:53 | |
| Bravo, Cosmos70 ! Belle application de ce principe ! | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: exemple d'un programme déchargeant un travail sur un autre Lun 20 Aoû 2012 - 1:44 | |
| Merci Cosmos70, c'est en effet un moyen de faire du traitement en parallèle | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: exemple d'un programme déchargeant un travail sur un autre Lun 20 Aoû 2012 - 2:36 | |
| Quand Cosmos 70 met le paquet, il ne va pas par quatre chemins ! | |
|
Contenu sponsorisé
| Sujet: Re: exemple d'un programme déchargeant un travail sur un autre | |
| |
|