Ich arbeite aktuell in einer Projektgruppe. Wird eine solche eigentlich nicht immer übergeordnet erzeugt - auch wenn nur ein Projekt bearbeitet wird?
Es wird in der Tat eine virtuelle Projektgruppe erzeugt, wenn du direkt ein Projekt öffnest. Diese wird aber erst gespeichert, wenn du das explizit auswählst. Die
IDE unterscheidet hier schon, ob du eine Projektgruppe oder ein Projekt öffnest und stellt das auch entsprechend in der Titelleiste dar.
Du kannst das ja mal ausprobieren. Die Breakpoints und auch die geöffneten Dateien sind anders wenn du ein Projekt öffnest, als wenn du eine Projektgruppe öffnest die das Projekt enthält. Grund sind die unterschiedlichen DSK-Dateien für den jeweiligen Fall.
Wird nur ein Projekt und keine Projektgruppe geöffnet, sollte
IOTAModuleServices.MainProjectGroup übrigens ein
nil zurück liefern. Das gerade aktuelle Projekt ist dann über
IOTAModuleServices.GetActiveProject zu ermitteln.
Wir hatten vor einiger Zeit eine Diskussion u.a. mit Marco Cantú darüber, wie man den Delphi-Formatter dazu bringen kann die Breakpoints zu berücksichtigen. Die festgestellten Probleme haben dann dazu geführt das Feature erst wieder auf Eis zu legen.
Die unterschiedlichen DSK-Dateien waren aber nicht das einzige Problem. Was macht man z.B. wenn eine Zeile mit Breakpoint gesplittet oder zusammengeführt wird?