Autor Beitrag
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Mo 29.03.10 17:04 
Nachdem ich nun im Kontextmenü der Projektverwaltung meinen Eintrag hinzugefügt habe (siehe hier), möchte ich gerne mitbekommen, wenn eine Datei zu einem Projekt hinzugefügt wird.

Ich hatte mir gedacht, dass ich einen IOTAProjectFileStorageNotifier registriere und damit überwache wann Projekte geladen und geschlossen werden um dann dem Projekt einen IOTAProjectNotifier hinzuzufügen. Das funktioniert allerdings nicht.

Im IOTAProjectFileStorageNotifier habe ich die Methode procedure CreatingProject(const ProjectOrGroup: IOTAModule);, die auch aufgerufen wird. Das IOTAModule hat allerdings nur die Möglichkeit einen IOTAModuleNotifier hinzufügen.

IOTAProjectNotifier erbt zwar von IOTAModuleNotifier, aber wenn ich versuche eine Instanz von ersterem zuzuweisen, bekomme ich von Delphi die Meldung, dass die Typen nicht kompatibel wären.

Jemand 'ne Idee?


Zuletzt bearbeitet von baka0815 am Mi 31.03.10 09:48, insgesamt 1-mal bearbeitet
baka0815 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Mi 31.03.10 09:48 
Alternativ habe ich jetzt eine IDEServiceNotifier und einen ModuleNotifier im Projekt registriert. So bekomme ich mit, wenn sich das Projekt ändert, also eine Datei hinzugefügt oder entfernt wird - das wäre schon mal nicht schlecht.
Ich dachte mir dann, dass ich einfach die Dateien vorher und nachher miteinander verglichen kann und so feststelle, welche Datei hinzugefügt/entfernt geändert hat. Allerdings bekomme ich von einem IOTAProject nicht die dazugehörigen Dateien - nur die Projektdateien.

Hat vielleicht da jemand 'nen Tipp?
baka0815 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Mi 31.03.10 11:22 
Ok, hat sich erledigt.

Ich musste mein Objekt (definiert als class(TModuleNotifierObject, IOTAProjectNotifier)) nur auf IOTAProjectNotifier casten. Warum das allerdings notwendig ist, wo ich doch genau dieses Interface implementiere, verstehe ich ehrlich gesagt nicht...