AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Refactoring: Procedure in andere Unit verschieben
Thema durchsuchen
Ansicht
Themen-Optionen

Refactoring: Procedure in andere Unit verschieben

Ein Thema von Harry Stahl · begonnen am 25. Dez 2015 · letzter Beitrag vom 28. Dez 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#1

Refactoring: Procedure in andere Unit verschieben

  Alt 25. Dez 2015, 12:59
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".
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 26. Dez 2015, 16:39
Keiner eine Idee / Erfahrung / Tipp?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 26. Dez 2015, 16:42
Moin...
Ich hoffe es richtig verstanden zu haben... Ich denke mit Copy/Paste wärst du schon fertig...
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 26. Dez 2015, 17:33
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.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 26. Dez 2015, 17:54
Na so oft muß man das ja nicht machen...
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 26. Dez 2015, 18:17
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.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 27. Dez 2015, 10:51
Ich kenne nur den Modelmaker CodeExplorer...
Dort kann man mit STRG + X STRG + V etc. flink ans Ziel kommen.

Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 27. Dez 2015, 15:42
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.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 27. Dez 2015, 16:41
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.).
Verschieben per Drag-and-Drop geht nicht, da das Tool immer nur innerhalb der aktuellen Unit arbeitet. Aber dataspider sprach ja auch von Strg-X, StrgV (gemeint ist innerhalb des ModelMaker Fensters) und das geht schon Unit-übergreifend. Die einzelnen Schritte sind somit:

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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Refactoring: Procedure in andere Unit verschieben

  Alt 27. Dez 2015, 17:04
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.

Geändert von Harry Stahl (27. Dez 2015 um 17:08 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz