Ich bin echt beeindruckt, wie gut das mit den include Dateien funktioniert.
Ich hab folgendes probiert:
Code: Alles auswählen
// main.pas
unit main;
type
TSecond = class;
{ TFirst }
TFirst = class
private
fSecond : TSecond;
public
//function TellMyName : string;
procedure SetSecond(aSecond : TSecond);
end;
{ TSecond }
TSecond = class
private
fFirst : TFirst;
public
//function TellMyName : string;
procedure SetFirst(aFirst : TFirst);
end;
implementation
{$i first.inc}
{$i second.inc}
end.
Wenn man nun first.inc und second.inc erzeugt, den Cursor auf "procedure SetSecond(aSecond : TSecond);" und Ctrl+Shift+C drückt, wird die Implementation der Methode
zunächst in main.pas eingefügt. Verschiebt man diese implementation dann in die Datei first.inc, entfernt den Kommentar bei "TellMyName" und drückt wiederum Ctrl+Shift+C, so wird die weitere Implementation automatisch in der first.inc erzeugt und die Eingabe springt dahin.
Gleiches Verhalten bei TSecond.
Mit Ctrl+Shift+Cursor hoch kann man wie gewohnt zwischen interface und implementation der Methoden hin und herwechseln.
Ein weiterer Vorteil besteht darin, daß man z.B. Systemspezifische Implementationen in separaten include Files halten kann.
Damit kann man problemlos jede Klasse in eigenen Quellcode Dateien halten und die Zeiten, wo ich Quellcodedateien mit hunderttausend und mehr Zeilen Code hatte sind vorbei.