![]() |
Refactoring: Procedure in andere Unit verschieben
Will meinen Source-Code mal ein wenig besser strukturieren.
Aus reiner Bequemlichkeit sind hin und wieder globale Prozeduren oder Funktionen in Formdateien gelandet, die eigentlich besser in einer separaten Unit aufgehoben wären. Sehe ich das richtig, dass Delphi hierfür kein Refactoring anbietet? Ich würde also gern den Procedure-Namen in der Form-Unit auswählen können und dann mit einem Befehl wie "Verschiebe in Unit [Auswahl der Unit]" incl. der Option "Funktion in Interface-Abschnitt der Unit eintragen" die Procedure verschieben (und vielleicht noch die Option "Unit im Interface-Abschitt der aktuellen Form-Unit eintragen" auswählen. Habe hier nichts gefunden. Oder habe ich etwas übersehen? Der Befehl "Verlagern" taugt dazu nicht, es kommt nur die Fehlermeldung "Sie können nur statistische Methoden in eine andere Klasse oder eine Klasse in einem anderen Namespace verlagern". |
AW: Refactoring: Procedure in andere Unit verschieben
Keiner eine Idee / Erfahrung / Tipp?:(
|
AW: Refactoring: Procedure in andere Unit verschieben
Moin...8-)
Ich hoffe es richtig verstanden zu haben... Ich denke mit Copy/Paste wärst du schon fertig... :P |
AW: Refactoring: Procedure in andere Unit verschieben
Das geht, aber ich bin natürlich auf der Suche nach einer erleichternden Methode.
Gerade wenn man einige Funktionen verschieben möchte, wäre es doch nett, wenn man da entsprechende programmatische Unterstützung hätte. |
AW: Refactoring: Procedure in andere Unit verschieben
:P Na so oft muß man das ja nicht machen...
|
AW: Refactoring: Procedure in andere Unit verschieben
Aber gerade jetzt schon, wo ich wegen ziemlich vieler Neustrukturierung von Source-Code und Oberfläche (Cross-Compile-Projekte) ganz viel Source aus den Forms verschieben will/muss, da wäre es schon eine Hilfe so was zu haben.
|
AW: Refactoring: Procedure in andere Unit verschieben
Ich kenne nur den Modelmaker CodeExplorer...
Dort kann man mit STRG + X STRG + V etc. flink ans Ziel kommen. Frank |
AW: Refactoring: Procedure in andere Unit verschieben
Ich habe mir mal die Demoversion installiert. Ist auf jeden Fall ein mächtiges Tool!
Aber die von mir gewünschte Funktion ist leider nicht vorhanden. Man kann nur eine Procedure in eine andere Klasse oder eine Formprozedur in ein normale Prozedur innerhalb der aktuellen Form umwandeln, nicht aber direkt in eine andere Unit verschieben (und da müsste das Tool dann noch die erforderlichen Änderungen machen, wie Eintrag in den Interface-Abschnitt, Einbindung der Unit in den Uses-Abschnitt der aktuellen Form, usw.). Aber vielen Dank für den Tipp.:thumb: |
AW: Refactoring: Procedure in andere Unit verschieben
Zitat:
Selektieren der Unit im ModelMaker-Fenster (im Module-Abschnitt, wenn sie nicht zu einer Klasse gehört), Ausschneiden (Strg-X), Unit wechseln, nun ebenfalls im ModelMaker-Fenster einfügen (Strg-V). Zugegeben, bei Modul-Methoden ist das nur wenig effizienter als ein simples Cut-Paste im Source-Editor, aber sonst ist das schon deutlich komfortabler. |
AW: Refactoring: Procedure in andere Unit verschieben
Danke Uwe. Per Zufall habe ich gerade so etwas ähnliches gefunden, erinnerte mich an die Modellansicht von Delphi.
Hier geht das "Verschieben" auch tatsächlich per cut and paste von Form-Prozeduren in einfache Units. Das einzige was mich im Moment stört ist, dass Delphi die eingefügte Prozedur neu formatiert. Kann man das irgendwie ausschalten? Dann könnte ich damit durchaus schon was anfangen. Den Eintrag in den Interface-Abschnitt müsste ich zwar selbst machen, aber das geht noch vom Aufwand. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz