Also ich ziehe über die IOTA-Funktionen die Breakpunkte heraus, die zur aktuellen
pas-Datei gehören.
Im Quelltext setze ich Marker, die ggf. mit verschoben werden.
An den Marker-Stellen stelle ich Breakpoints wieder her.
Gleiches mit Bookmarks und der Cursorposition.
Das ist ziemlich aufwendig (aufwendiger als es sich anhört
) aber funktioniert augenscheinlich gut.
Kann natürlich sein, dass es Fälle gibt, die so nicht abgedeckt werden. :-/
Was garantiert ein Problem ist, sind Breakponts in Units, die von anderen Projekten gesetzt wurden. Die kennen dann natürlich keine Quelltextverschiebungen. Solche Sonderfälle (die sicherlich auch selten sind) wird man wohl so hinnehmen müssen...
(Wobei ich mich frage, warum die
IDE so kompliziert arbeitet. Sicherlich aus historischen Gründen.)
kurzes Nebenthema:
Bei Interfaces, die projektübergreifend genutzt werden, werde ich Änderungen nachverfolgbar machen. Wird also in Interface IPerson die Property Vorname in FirstName umbenannt, werden alle Klassen-Eigenschaften des aktuellen Projektes sofort umbenannt.
Wird die
Unit mit dem Interface auch in anderen Projekten anderer Projektgruppen genutzt, werden auch deren Klassen-Eigenschaften bei späterer Bearbeitung entsprechend angepasst.
Dazu werden entsprechende Änderungsinfos hinterlegt.
Bei projektgruppenübergreifenden Breakpoints wird das aber so kaum möglich sein.