Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#38

AW: Interface-Unterstützung

  Alt 7. Nov 2017, 19:11
Nach meiner bisherigen Einschätzung wird das trotzdem noch eine Schreib- oder Kopierorgie.
Das sehe ich zwar anders, aber deine Anforderungen sind schon sehr speziell (so speziell zumindest, daß ich sie zumindest bisher noch nicht vermisst hätte) und da ist natürlich ein speziell darauf abgestimmtes Tool nicht zu toppen.

Nur mal als schnelle Idee, wie ich etwas vergleichbares mit MMX realisieren würde (für ein Video habe ich gerade keine Zeit). Ich würde halt ganz anders anfangen. Ausgehend von zwei leeren Units:
  • die Klasse anlegen (MMX-Dialog, Code-Template oder von Hand)
  • die Properties in den Klassen anlegen (der MMX-Dialog erlaubt bereits unterschiedliche, auch selbst definierte Implementierungen)
  • die Properties in MMX markieren
  • über (MMX-)Refactorings - Extract Interface das Interface erzeugen
  • den Interfacenamen dabei gleich in die Zwischenablage kopieren
  • und nach einem Komma in die Klassendeklaration kopieren
  • das Interface per MMX-Cut/Paste in die andere Unit verlagern
  • falls noch nicht geschehen die andere Unit per Ctrl-U (MMX) oder Alt-F11 (IDE) usen

Bei geschickt gewählten Default-Einstellungen sind in den MMX-Dialogen kaum Eingaben nötig (Name von Klasse/Property/Interface, Typ des Properties geht in der Regel per Auto-Complete mit 1-2 Tasten). Das sind vergleichbar viele (eher weniger) Eingaben als in deinem Beispiel zu machen sind. Allerdings kann man in beiden Fällen mit Code-Templates eventuell noch was rausholen. Es gibt ein Copy/Paste (Name des Interfaces) und ein Cut/Paste (Interface in andere Unit) für jedes Interface.

Eine automatische Synchronisierung der Parameter ist dort leider nicht vorgesehen. Allerdings genügt hier analog zum Beschriebenen ein simples Copy/Delete/Paste der betroffenen Properties bzw. Methoden um das wieder zu synchronisieren. Das ist natürlich nicht so schnell und komfortabel wie deine Speziallösung, aber es ist ja auch nicht gerade und ausschließlich dafür gedacht. (Was nicht heißt, daß es sowas in Zukunft nicht bekommen könnte)

Aber natürlich bleibt dein Tool für dich immer die bevorzugte Wahl. Schließlich baust du es ja auch genau nach deinen Bedürfnissen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat