Bonsoir à tous,
Je m'amuse à utiliser File Mapping de la sorte :
Démarrage
Arrêt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Function TFMyForm.Demarrage: Boolean; begin Result := False; Try FichierEchange:=CreateFileMapping( $FFFFFFFF, nil, PAGE_READWRITE, 0, SizeOf(Partage), 'ApplicationCible'); if FichierEchange = 0 then Exit(False); Partage := MapViewOfFile(FichierEchange, FILE_MAP_WRITE, 0, 0, 0); if Partage = nil then Exit(False); //... Result := True; Except Result := False; end;
Lorsque j'utilise fonction démarrage cela fonctionne très, mais lorsque j'ai fini et que j'utilise la fonction arrêt, j'ai systématiquement cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Function TFMyForm.Arret: Boolean; begin if Partage <> nil then begin UnmapViewOfFile(Partage); if FichierEchange <> 0 then begin CloseHandle(FichierEchange); end; end; end;
Violation d'accès à l'adresse 007E8D23 dans le module...
Je suis sur XE5.
Auriez-vous une idée à ce problème ?
Merci.
Partager