Zitat von
mjustin:
Sieht so aus, als ob man jede Komponente auch als Interface ansprechen kann. Die Referenzzählung in TComponent ist aber mit einigen if's gestaltet, die ich mir noch nicht näher angeschaut habe.
die meißten IFs gehen wohl darauf hinaus, daß {TComponent}.VCLComObject etwas vom Typ IVCLComObject zugewiesen sein muß,
über welches dann alles bezüglich des Interfaces läuft.
[add]
Im Notfall die in TInterfacedObject eingeführten Dinge kopieren und direkt einbauen, oder halt 'ne eigene Version.
Aber ich denke es würde übr ein zusätzliches InterfaceObjekt wohl am Besten sein, welches dann die Komponente anspricht.
Wenn dein Programm aber das TMainMenu erstellt, verwaltet und freigibt
und die anderen da nichts ändern, dann könntest du auch eventuell die Referenzzählung weglassen?