Moin, Moin.
Sicherlich wird man die Fragestellung weder mit einem klaren JA noch NEIN beantworten können; sie beschreibt aber ganz gut meine augenblickliche Überlegung, zu der ich eine Entscheidungshilfe erhoffe:
Nachdem ich lange Zeit TFrames ignorierte, habe ich jetzt doch ein wenig damit herumexperimentiert und die Delphi beiliegende Richedit-Demo in einen Frame gepackt. Im Verlauf des Bastelns habe ich ein benutzerdefiniertes Event benötigt und dieses auch in die Frameklasse einbauen können. So weit, so gut.
Nun stoße ich allerdings auf zwei offenbar grundsätzliche Eigenarten der Frames, die die Frage aufkommen lassen, ob anstelle eines Frames nicht eine Komponente die bessere Wahl wäre:
- Der Zugriff auf das im Frame definierte Event ist im Source (natürlich) problemlos möglich. Ich hatte aber erwartet, dass nach Placierung des Frames im Formular das Event im Objektinspektor in der Ereignisliste des Frames erscheint. Dort kann ich dieses aber nicht entdecken. Das ist zwar nur eine Schönheitsfehler, aber immerhin! Frage: Ist das prinzipbedingt, oder muss das Event auf irgendeine Art und Weise "registriert" werden, damit es im OI angezeigt wird?
- Ergebnis der Bastelei soll sein, einen kompletten kleinen Editor zu erstellen, der dann überall verwendet werden kann. Der Frame wäre dann quasi der Editor-Container. Durch Zufall habe ich nun festgestellt, dass Frames aber offenbar nur projektbezogen (?) verfügbar sind. Auch wenn die Frame-Unit in einem Verzeichnis innerhalb des Suchpfades abgelegt wird: In anderen Projekten zeigt mir das Frame-Auswahlfenster den erstellten EditorFrame nicht an?! Frage: Ist das ebenfalls prinzipbedingt, oder mache ich da wieder einmal etwas falsch?