Heritage Interface - Surcharge
Bonjour,
Comment heritier une Interface avec des methodes Overload?
Heritier cette interface:
Code:
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
[JavaSignature('android/telephony/PhoneStateListener')]
JPhoneStateListener = interface(JObject)
['{50CE10E1-C584-4145-BC72-65BFA48BB281}']
procedure onCallForwardingIndicatorChanged(cfi: Boolean); cdecl;
procedure onCallStateChanged(state: Integer; incomingNumber: JString); cdecl;
procedure onCellInfoChanged(cellInfo: JList); cdecl;
procedure onCellLocationChanged(location: JCellLocation); cdecl;
procedure onDataActivity(direction: Integer); cdecl;
procedure onDataConnectionStateChanged(state: Integer); cdecl; overload;
procedure onDataConnectionStateChanged(state: Integer; networkType: Integer); cdecl; overload;
procedure onMessageWaitingIndicatorChanged(mwi: Boolean); cdecl;
procedure onServiceStateChanged(serviceState: JServiceState); cdecl;
procedure onSignalStrengthChanged(asu: Integer); cdecl;//Deprecated
procedure onSignalStrengthsChanged(signalStrength: JSignalStrength); cdecl;
end;
TPL = Class(TJavaLocal, JPhoneStateListener)
Public
Constructor Create;
Destructor Destroy; Override;
procedure onCallForwardingIndicatorChanged(cfi: Boolean); cdecl;
procedure onCallStateChanged(state: Integer; incomingNumber: JString); cdecl;
procedure onCellInfoChanged(cellInfo: JList); cdecl;
procedure onCellLocationChanged(location: JCellLocation); cdecl;
procedure onDataActivity(direction: Integer); cdecl;
procedure onDataConnectionStateChanged(state: Integer); cdecl; Overload;
procedure onDataConnectionStateChanged(state: Integer; networkType: Integer); cdecl; Overload;
procedure onMessageWaitingIndicatorChanged(mwi: Boolean); cdecl;
procedure onServiceStateChanged(serviceState: JServiceState); cdecl;
procedure onSignalStrengthChanged(asu: Integer); cdecl;
procedure onSignalStrengthsChanged(signalStrength: JSignalStrength); cdecl;
End;
Implementation
Constructor TPL.Create;
Begin
End;
Destructor TPL.Destroy;
Begin
Inherited Destroy;
End;
procedure TPL.onCallForwardingIndicatorChanged(cfi: Boolean);
Begin
End;
procedure TPL.onCallStateChanged(state: Integer; incomingNumber: JString);
Begin
End;
procedure TPL.onCellInfoChanged(cellInfo: JList);
Begin
End;
procedure TPL.onCellLocationChanged(location: JCellLocation);
Begin
End;
procedure TPL.onDataActivity(direction: Integer);
Begin
End;
procedure TPL.onDataConnectionStateChanged(state: Integer);
Begin
End;
procedure TPL.onDataConnectionStateChanged(state: Integer; networkType: Integer);
Begin
End;
procedure TPL.onMessageWaitingIndicatorChanged(mwi: Boolean);
Begin
End;
procedure TPL.onServiceStateChanged(serviceState: JServiceState);
Begin
End;
procedure TPL.onSignalStrengthChanged(asu: Integer);
Begin
End;
procedure TPL.onSignalStrengthsChanged(signalStrength: JSignalStrength);
Begin
End; |
La compilation donne des erreurs suivants:
Citation:
[DCC Erreur] Unit31.pas(33): E2211 La déclaration de 'equals' diffère de la déclaration dans l'interface 'JPhoneStateListener'
J'ai déjà essaié avec DELPHI XE6, Delphi XE7 et XE8.
J'ai déjà esaie de rajouter sur le methode overload (Reintroduce, virtual, .....), ça ne marche pas encore.
Pouvez vous m'aider SVP?
Merci d'avance.