Bonjour,

Je développe sous delphi 2005. Je veux faire communiquer deux unités de mon projet une unité une unité de class (TFrame) et une autre classe de class (TForm) contenant une classe TThread

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
unit FrameExUnit;
 
TFrameExUnit = class(TFrame)
public
  procedure changeFrame;
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
28
29
30
31
32
unit FormExUnit;
 
TFormExUnit = class(TForm)
 
 
implementation
 
uses
   FrameExUnit;
 
type
  TExThread = class(TThread)
 
private
  fframe : TFrameExUnit;
  procedure update;
  procedure Execute;
var
   ExThread : TExThread;
 
procedure TExThread.Update;
begin
  fframe.changeFrame;
end;
 
 
procedure TExThread.Execute;
begin
  { --------- }
 
  synchronize(update);
end;
Le code du thread s’exécute normalement jusqu'à la ligne synchronize(Update) où j'ai une violation d’accès. Plus exactement la violation est provoqué à la ligne fframe.changeFrame;. Pourtant je définis bien fframe comme Type TFrameExUnit. mais l’exécution de la méthode me retourne cette violation d'accès.

Je voudrais savoir si vous aviez une solution à ce problème où une autre méthode me permettant d'appeler des procédures TFrame à partir de TForm

Merci