salut,

J'ai un projet ou j utilise plusieur form et j ai fais une procédure objet, pour que toute les forms puissent réagir a la même procédure

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
 
type
 TEmission_douchette=Procedure (trame:string) of object;
 
procedure X;
begin
 if length(screen.ActiveForm.Name)<>0 then
  begin
    @fonction_douchette:=screen.ActiveForm.MethodAddress('Emission_douchette');
    if @fonction_douchette<>nil then
    begin
      fonction_douchette(envoi_trame);            
      application.processmessages;
    end;
  end;     
end;
Pour plus de simplicité dans mon code j'ai modifier mon programme pour créer dynamiquement des frames. Or maintenant, il n'existe pas de procédure "AcitveFrame" pour savoir qu'elle frame est encours d'affichage. Donc je me retrouve bloquer.

J ai pensé a faire une boucle de ce style:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
for loop:=0 to form_pp.ComponentCount-1 do
begin
  if (form_pp.Components[loop] is Tframe) then
  begin
    showmessage('ok');
  end;
end;
Mais la aussi problème ..... car ce n'est paas une classe Tframe , mais des classes de frame propriétaire du style :

Tframe_login
Tframe_progression
.....



Si vous avez une petit idée , je suis preneur ....
Merci d avance.