[D2006] Procedure of object et utilisation en procedure local
Bonjour
Je possède un object TParser qui possède un evenement OnGetVar : TGetVarEvent
Il s'agit bien entendu d'une procedure of object
Code:
1 2 3
|
TGetVarEvent = procedure(Sender : TObject; VarName : string; var
Value : Extended; var Found : Boolean) of object; |
Mon problème et que je voudrais connecter une procedure local qui n'est dnc pas une procedure of objects
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
FUNCTION TFenetre.Preparer_affichage_resultats:Boolean;
PROCEDURE Evt_Remplir_Variables(Sender : TObject; VarName : string;
var Value : Extended; var Found : Boolean);
BEGIN
Value:=0;
END;
BEGIN
Mon_Parser.OnGetVar:=Evt_Remplir_Variables
.....
END; |
Bien entendu cela ne fonctionne pas, j'ai essayais diverses options (Addr, @, transtypage) mais rien n'y fait. Pourtant j'ai souvenir d'avir déjà fait ce genre de manip et que c'était simple .... mais j'ai un trou (où alors je rêve :? )
Si une bonne âme pouvait me dépanner, merci
N.B. Je ne peux pas mettre ma proc Evt_Remplir_Variables au niveau de TFenetre, ce qui résoudrai le "problème". Le contexte de calcul se trouve dans Preparer_affichage_resultats et pas ailleurs
[EDIT]
Je pense avoir trouvé, en tant cas cela compile...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
FUNCTION TFenetre.Preparer_affichage_resultats:Boolean;
VAR
POnGetVar : ^Parser_Math.TGetVarEvent;
PROCEDURE Evt_Remplir_Variables(Sender : TObject; VarName : string;
var Value : Extended; var Found : Boolean);
BEGIN
Value:=0;
END;
BEGIN
POnGetVar :=@Evt_Remplir_Variables;
Mon_Parser.OnGetVar:=POnGetVar^;
.....
END; |
[EDIT]
Non cela plante majestueusement...8O
[edit] Modifié par Pascal Jankowski pour éviter la déformation du forum [/edit]