Bonjour, J'espere ne pas trop abuser en postant aussi souvant, voici le probleme :
La dll en C# que j'utilise fait appel a des fonctions de callback.
Je ne sais comment faire pour pouvoir les utiliser en delphi.
la declaration en c# :
Dans ma bibliotheque delphi je me retrouve avec les headers suivants :
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 public delegate void MeasureDoneHandler(object sender, MeasureDoneArgs e); public class MeasureDoneArgs : System.EventArgs { public double[] Values; public MeasureDoneArgs(double[] aValues) { Values = aValues; } } public void AssignFunction(MeasureDoneHandler aFunctionDelegate) { mMeasureDoneHandler += new MeasureDoneHandler(aFunctionDelegate); }
Le probleme est que ma fonction 'assign fonction' prend en parametre un Handler et que je n'arrive pas a declarer correctement cet handler en delphi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure AssignFunction(const aFunctionDelegate: _MeasureDoneHandler); procedure add_mMeasureDoneHandler(const value: _MeasureDoneHandler); procedure remove_mMeasureDoneHandler(const value: _MeasureDoneHandler);
En c# ca donne :
Ou MeasureHandling est le nom de la fonction appelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part new TCMM18Lib.MeasureDoneHandler(MeasureHandling)
j'ai essaye (entre autres) en delphi :
Mais ca ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 type PMeasureHandling = procedure(Sender : TObject; myArgs : MeasureDoneArgs); TCMM18Lib1.AssignFunction(PMeasureHandling);
Si vous pouviez m'indiquer la marche a suivre,ou si je me trompe completement...
Merci d'avance
PS : en cherchant sur le forum j'ai trouve ce post :
http://www.developpez.net/forums/sho...allback+delphi
C'est le meme probleme mais j'ai pas voulu l'exumer
Partager