Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:cas:processus:shared_memory [12/03/2023 16:50]
thierry [Titre]
prog:lazarus:cas:processus:shared_memory [12/03/2023 17:21] (Version actuelle)
thierry [Mémoire partagée]
Ligne 1: Ligne 1:
 ====== Mémoire partagée ====== ====== Mémoire partagée ======
 +Ma problématique est de faire communiquer deux applications différentes (sur le même PC) entre elles...
 +
 +Voici quelques pistes :
 ===== Utilisation d'une classe TTICSharedMemory ===== ===== Utilisation d'une classe TTICSharedMemory =====
 +Ci dessous un exemple de données partagées entre deux applications Windows.\\
 +Un serveur avec un ''​TEdit'',​ qui modifie la mémoire partagé dés qu'on modifie la valeur du ''​TEdit''​.\\
 +Un Client, qui affiche toutes les secondes la valeur de la donnée partagée.
 ==== uTICSharedMemory ==== ==== uTICSharedMemory ====
 Cette unité contient le code de l'​object TTICSharedMemory Cette unité contient le code de l'​object TTICSharedMemory
Ligne 26: Ligne 32:
     procedure FreeHandle;     procedure FreeHandle;
   public   public
 +    // AName = l'​identifiant du fichier partagé en mémoire
 +    // ASize = la taille totale des données partagées
     constructor Create(AName:​ PChar; ASize: integer);     constructor Create(AName:​ PChar; ASize: integer);
 +    ​
     destructor Destroy; override;     destructor Destroy; override;
     property LastError: DWord read FLastError;     property LastError: DWord read FLastError;
 +
 +   // Pointer = l'​adresse de la donnée partagée
     property Pointer: pointer read FPointer;     property Pointer: pointer read FPointer;
   end;   end;