tu tombe bien toi
j'utilise dans EPB et dans mes outils (qui sont tous des prg independant ... )
pour la communication avec mes outils qui elle.. fonctionne tres bien .....
Code : Tout sélectionner
Global MemoirePartagee
MemoirePartagee=CreateFileMapping_($FFFFFFFF,#Null, #PAGE_READWRITE, 0, SizeOf(Partage),"EPB")
*ram= MapViewOfFile_(MemoirePartagee, #FILE_MAP_WRITE, 0, 0, 0)
j'utilise pour mon deboggeur et dans la librairie
(donc c'est present dans ma lib , et dans le debuggeur avec le meme nom
Code : Tout sélectionner
MemoirePartagee2=CreateFileMapping_($FFFFFFFF,#Null, #PAGE_READWRITE, 0, SizeOf(Partage_debog),"d_debug")
*ram_debog=MapViewOfFile_(MemoirePartagee2, #FILE_MAP_WRITE, 0, 0, 0)
question , a ton avis le fait d'avoir plusieurs Fichier d'echange d'ouvert , ça peut poser un probleme ?
ce que je ne comprends pas , c'est que ça a marché un temps .....
il semble aussi que je suis vite limité , niveaux chaine$
mes structures sont de la forme
pour EPB et les outils
Code : Tout sélectionner
Structure Partage
declencheur.b
valeur1.i
message$ {500} ; si je met 5000 ça me fait une erreur de memoire (pas toujours )
EndStructure
Global *ram.Partage
pour le deboggeur
Code : Tout sélectionner
Structure Partage_debog
declencheur.b
valeur1.i
debog_message$ {500} ; si je met 5000 ça me fait une erreur de memoire (pas toujours )
EndStructure
Global *ram_debog.Partage_debog
je ne peux pas trop filer de code exemple , car mon histoire implique trop de prg
--EPB (qui contient la structure et le "ramdisk" pour la liaison avec les outils ) .. donc chaque outils a la meme
--les outils prg independant qui ont le meme ramdisk que EPB
---le Deboggeur qui a un ramdisk different
----la librairie qui fait appel aux fonctions du deboggeur qui a le meme ramdisk que le deboggeur
la liaison entre EPB et les outils fonctionne bien !! ..
seule la liaison avec le debuggeur plante ... (pas de chaine$ de transmises )
et seule Japbe arrive a la faire fonctionner !!!
voila un petit dessin de l'architecture du truc (j'ai pas dessiné les ram disk se trouvant dans les prg périphérique )
si japbe utilise la librairie (ici en vert pale ) elle peut commander comme il faut le deboggeur !
mais pas EPB !!! ..
ce qui met hors de cause la librairie qui fonctionne lorsque Japbe l'utilise....
si j'utilise un seul "ramdisk" pour tout le monde en separant les variables de chacun dans la structure , ça fait le meme effet ..
c'est a rien y comprendre .....
la seule difference entre EPB et japbe, c'est que EPB lance le compilateur a chaque compilation .... je ne pense pas que cela vienne de là ...