Partager de la mémoire

cs_mounjetado Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 4 août 2008 - 7 nov. 2007 à 14:29
cs_mounjetado Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 4 août 2008 - 7 nov. 2007 à 22:08
bonjour,
existe-t-il un cours complet et détaillé, avec des exemples, sur l'utilisation des objets de synchronisation , tels que mutex, sémaphores, sections critiques, événements, et sur l'accès à la mémoire partagée.
je ne trouve que des bribes de code, où je trouve soit un mutex, soit un sémaphore, soit une section critique, et je ne peux jamais suivre le fonctionnement en profondeur.
déjà, est-ce que ce type d'objets fonctionne correctement dans une appli console? il me semble que oui mais...
ensuite comment faire passer les données d'une appli conole à une autre appli console?
enfin, si tant est que ce soit possible, puisque j'arrive quand même à créer mes objets dans chaque appli, comment faire en sorte que l'appli qui lit la mémoire partagée pointe sur la même mémoire dans laquelle écrit l'autre appli?
je suis perdu, aidez-moi...

<hr />si Delphi m'était conté...

4 réponses

cs_mounjetado Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 4 août 2008
7 nov. 2007 à 14:33
en outre, faut-il mettre le code dans une dll utilisée par les processus en question?
pourquoi certains utilisent-ils exclusivement CreateFileMapping alors que d'autres préfèrent accéder à une mémoire déjà allouée par OpenFileMapping?

<hr />si Delphi m'était conté...
0
cs_mounjetado Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 4 août 2008
7 nov. 2007 à 14:58
et aussi faut-il utiliser un pointeur non typé? moi j'ai une variable de type tableau à 2 dimensions de structures personnalisées, à savoir:

  TMeasure = Array[0..ChValFormat-1] of Word;
  TWholeMeasure = Array[0..mcMax-1] of TMeasure;
  TCompleteMeasure = Record
    elSystemClockCount : Int64;
    elDeviceClockCount : Int64;
    elMeasureCount : Int64;
    elDeviceValues : TWholeMeasure;
    elTORStatus : Byte;
  End;
  TCompleteMeasureArray = Array[0..1999] of TCompleteMeasure;
  CompleteMeasureArray : Array[0..1] of TCompleteMeasureArray;

j'arrive à mapper la chose apparemment; tout du moins, j'arrive à créer handles et pointeurs, mais je n'arrive pas à utiliser le pointeur dans mon code.









<hr />




si Delphi m'était conté...
0
cs_mounjetado Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 4 août 2008
7 nov. 2007 à 22:03
viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
toujours la même prise de tête! lol
maintenant, mon chef veut que je mette tout dans le même thread pour pouvoir utiliser new et dispose  pour l'allocation de plusieurs pointeurs sur un mm espace mémoire
bon j'espère que ton lien va me donner la solution car je finis par devenir chèvre, à la longue! et je suis mm pas sûr de faire du bon fromage! euh... codage! mdr
je te tiens au courant
et merci de ne pas m'avoir oublié
@+
<hr />
si Delphi m'était conté...
0
cs_mounjetado Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 4 août 2008
7 nov. 2007 à 22:08
mais euh... ce source je l'ai déjà potassé lol
mais merci quand même!
en fait j'ai du mal à appréhender le problème dans sa mise en oeuvre
mais bon je ne désespère ça! je reprends ça à tête reposée et je reviens vers toi pour te dire ce qu'il en est
<hr />
si Delphi m'était conté...
0
Rejoignez-nous