Delphi XE4.
Gehe ich hin und möchte aus der folgenden Klasse über
Refactoring->Interface extrahieren selbiges tun, geht alles bestens über die Bühne:
Delphi-Quellcode:
TMeineKlasse = class
private
irgendeinAttribut: Integer;
public
procedure irgendeineMethode();
function getAttribut(): Integer;
constructor Create();
destructor Destroy(); override;
end;
Der Ablauf ist in den ersten beiden Bildern sichtbar: Es ergibt sich eine neue
Unit "meinNamespace.pas":
Delphi-Quellcode:
unit meinNamespace;
interface
type
IMeineKlasse =
interface
procedure irgendeineMethode();
function getAttribut(): Integer;
end;
implementation
end.
.
Alles in bester Ordnung, bis ich die Klasse um eine Property erweitere:
Delphi-Quellcode:
TMeineKlasse = class
private
irgendeinAttribut: Integer;
protected
property irgendeineProp: Integer
read irgendeinAttribut;
public
procedure irgendeineMethode();
function getAttribut(): Integer;
constructor Create();
destructor Destroy(); override;
end;
Die beiden Dialoge sind in den letzten beiden Bildern sichtbar. Das Problem ist nur, dass sich nichts tut wenn ich sage "Refactoring übernehmen". Keine Fehlermeldung. Nichts. Es entsteht zwar an gewünschter Stelle ein neues Interface, das ist aber komplett leer.
Delphi-Quellcode:
IMeineKlasseMitProperty = interface
end;
Das Refactoring wird nicht übernommen, kein Mensch sagt mir allerdings warum.
Was läuft hier falsch?