Bonjour,
j'ai une class TRate descendant de IDispatch et TAutuObject;
J'ai ensuite g_Rate un tableau d'objet de type TRate. Je dois y accéder via IEnumerator et la Property Current.
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 Type IRate = interface(IDispatch) ['{60B5A5D1-5BA9-4D28-BBF9-DD5BE2B83ED2}'] function Get_Minimum: Double; safecall; procedure Set_Minimum(Value: Double); safecall; function Get_Maximum: Double; safecall; procedure Set_Maximum(Value: Double); safecall; property Minimum: Double read Get_Minimum write Set_Minimum; property Maximum: Double read Get_Maximum write Set_Maximum; end; TRate = class(TAutoObject, IRate) protected function Get_Maximum: Double; safecall; function Get_Minimum: Double; safecall; procedure Set_Maximum(Value: Double); safecall; procedure Set_Minimum(Value: Double); safecall; public fMaximum,fMinimum:double; destructor Destroy; override; end;
Le retour de Get_Current est standardisé car c'est un descendant de IEnumerator, donc retour par OleVariant. J'obtiens une erreur de compilation car le type TRate est incompatible avec OleVariant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function TRateEnum.Get_Current: OleVariant; begin result:= g_Rate[fAxe,fIndex-1]; end;
Je suis un peu coincé.
Partager