Zitat von
RWarnecke:
wie ich meinen Code-Orakel Wizard für die Delphi
IDE geschrieben habe, habe ich festgestellt, dass die Zahl am Ende des Interfacesnamens immer die Version des Delphis betrifft.
Das hab ich auch schon festgestellt, dennoch sollen ja "bekanntlich" bestehende Interfaces nicht verändert werden.
Fast alle Interfaces sind auch voneinander abgeleitet
z.B.:
Delphi-Quellcode:
IOTABreakpoint40 = interface(IUnknown) ... end;
IOTABreakpoint50 = interface(IOTABreakpoint40) ... end;
IOTABreakpoint80 = interface(IOTABreakpoint50) ... end;
IOTABreakpoint120 = interface(IOTABreakpoint80) ... end;
IOTABreakpoint = interface(IOTABreakpoint120) ... end;
wobei das Interface ohne Nummer die aktuelle Version darstellt.
Somit wäre es ja fatal einfach so ein Interface zu löschen, bzw. nicht zu unterstützen
und darauf dann nichtmal hinzuweisen.
Wenn ich jetzt z.B. einen alten Delphi-4-Wizard hätte und dort IOTADebuggerServices120 verwendete, dann dann würde der jetzt nicht laufen und man würde nirgendwo erfahren können, warum der nichtmehr läuft, obwohl sein Interface in Delphi 2010 (Ver210) deklariert und nichtmal als deprecated markiert ist.