Bonjour,

Je constate que l'appel d'une méthode de classe ayant une interface en paramètre provoque une erreur EAccessViolation.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
IPublishable = interface
        procedure Publish;
        procedure Unpublish;
end;   
 
TPublisher = class
       class procedure Add(AKey : String; APublication : IPublishable);
end;
L'appel de TPublisher.Add avec un objet implémentant l'interface IPublishable (et héritant de TInterfacedObject) provoque une erreur du type EAccessViolation.

S'agit-il d'un bogue ? Est-ce un comportement normal avec des méthodes de classe ?