2009-05-13 7 views
0

J'essaie d'utiliser le refactoring de Delphi 2009 pour extraire une interface d'une classe. La classe ressemble à ceci:Comment faire pour que Delphi 2009s (Refactor) Extract Interface fonctionne?

Type 
    TMyClass = class(TObject) 
    private 
    FPrivateVar: Integer; 
    public 
    procedure MyPublicProc(Value: String); 
    function MyPublicFunc(Value: String): String; 
    end; 

Si je place le curseur dans la section publique, faites un clic droit et sélectionnez refactorisation | Extraire une interface, il y a une légère pause puis ... rien. Qu'est-ce que je fais quelque chose de mal?

Répondre

2

J'utilise Delphi 2009 Version 12.0.3210.17555 (Mise à jour 1 et 2 installés), et j'ai vérifié la fonction de votre classe ...

Tant que Je n'avais que votre interface de classe et la méthode ont pas été concrétisées, je recevais ce message d'erreur:

la sélection doit contenir une ou plusieurs classes ou un ou plusieurs membres de la classe.

J'appuie sur les touches Ctrl + Maj + C pour achever la mise en œuvre de la classe, et ont essayé à nouveau, et cela a fonctionné très bien:

http://www.picoodle.com/view.php?img=/2/5/13/kykl1zna1e5r/f_ExtractIntem_4aaede9.png&srv=img30

0

En D2007 cela fonctionne bien. (Je devais activer/ajouter le support du modèle, il le demande automatiquement). Lorsque je clique sur une procédure (placez le curseur quelque part dans MyPublicProc par exemple), cela fonctionne correctement.

Voyez-vous une erreur si vous ouvrez la vue de réfection? (Delphi -> Affichage -> Refactorings)

+0

Il n'y a pas de message d'erreur du tout. Juste une courte pause puis rien. J'ai déjà essayé d'activer le support du modèle, mais la même chose arrive encore (ou pas). – norgepaul

+0

Je viens de l'essayer dans RAD Studio 2007 et ça marche comme prévu! – norgepaul

Questions connexes