Moin zusammen,
ich habe mal eine Grundsätzliche Frage an uns alle.
Wie denkt ihr darüber, Menüs (Main/Popup) Dynamisch aufzubauen?
Seht ihr da mehr Nachteile oder seit ihr der Meinung, das sich die Vor und Nachteile gegenseitig aufheben und am ende ein +/- rauskommt?
Ein Vorteil eines Dynamischen Menüs ist der Aspekt, das man nicht so viel MenüItems in der Rückhand halten muß --> Weniger Speicher im Ram benödogt,
Daraus ergibt sich allerdings auch der Nachteil, das man jeden Menüpunkt bei der Programierung angefast werden muß --> mehr schreibaufwand
Das Statische Menü hat für mich den Vorteil, das man es bei Bau so bauen kann, wie man es braucht --> Zeitersparnis
Dies Ergibt für mich allerdings auch wieder den Nachteil, das man Menüaufbauten, welche innerhalb einer Form Spezifisch sind und nicht angezeigt werden sollen, immer deaktiviert werden müßen und liegen unbenutzt im Ram. --> kann man machen, muß man aber nicht.
Ich betrachte dies gerade unter dem Aspekt, das man das MainMenu 1:1 in ein PopupMenu übernehmen kann. ohne nochmal ca 10 bis 30 zusätzliche Menüitems aufzubauen, was ich bisher immer so gehandhabt habe.
Menü Statisch vs. Dynamisch
- Maik81SE
- Beiträge: 308
- Registriert: Fr 30. Sep 2011, 14:07
- OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
- CPU-Target: x86-64; arm; avr
- Wohnort: Lübeck
- Kontaktdaten:
Menü Statisch vs. Dynamisch
Code: Alles auswählen
label.caption:= 'gnublin.no-ip.info'
windows 10 (L 3.99.0.0 FPC 3.2.0)
- af0815
- Lazarusforum e. V.
- Beiträge: 6200
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Menü Statisch vs. Dynamisch
Grundlegend sollte die Überlegung vor dem Schreiben der Software klar sein.
Ich bin für eine Mixed Form. Alles was statisch soll es auch bleiben. MRU zB müssen dynamisch sein. Dafür gibt es in Lazarus sogar schon Komponenten. Ansonsten ist es kein Problem Teile dynamisch zu machen.
Ich bin für eine Mixed Form. Alles was statisch soll es auch bleiben. MRU zB müssen dynamisch sein. Dafür gibt es in Lazarus sogar schon Komponenten. Ansonsten ist es kein Problem Teile dynamisch zu machen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1432
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Menü Statisch vs. Dynamisch
Moinsens,
Mainmenus hatte ich bislang meistens statisch (abgesehen von MRU)
Popupmenus fast immer dynamisch weil vom Objekt abhängig.
Meine Objekte haben eine property fPopup. Wenn die = nil ist wird die virtuelle Methode GetPopUp aufgerufen welche das Popupmenu erzeugt und in fPopup speichert.
Da alle meine Klassen von einer Basisklasse abgeleitet sind, kann ich Menüeinträge die für alle gelten in der Basisklasse definieren und alles spezielle dann eben in den von der Basisklasse abgeleiteten.
Mainmenus hatte ich bislang meistens statisch (abgesehen von MRU)
Popupmenus fast immer dynamisch weil vom Objekt abhängig.
Meine Objekte haben eine property fPopup. Wenn die = nil ist wird die virtuelle Methode GetPopUp aufgerufen welche das Popupmenu erzeugt und in fPopup speichert.
Da alle meine Klassen von einer Basisklasse abgeleitet sind, kann ich Menüeinträge die für alle gelten in der Basisklasse definieren und alles spezielle dann eben in den von der Basisklasse abgeleiteten.
- Maik81SE
- Beiträge: 308
- Registriert: Fr 30. Sep 2011, 14:07
- OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
- CPU-Target: x86-64; arm; avr
- Wohnort: Lübeck
- Kontaktdaten:
Re: Menü Statisch vs. Dynamisch
MRU hört sich schon mal danach an, womit ich arbeiten könnte.,
Das Beispiel ist sehr überschaubar und lässt sich daher leicht nachvollziehen,
Lediglich die Installation des Package hat mich 3 Stunden gekostet, da es ein Rattenschwaz ohne ende war, der mit installiert werden muste.
Zumindest auf meinem PI4
Ohne diese Information hätte ich unter Garantie versucht dies zu fuß aufzubauen.
Das Beispiel ist sehr überschaubar und lässt sich daher leicht nachvollziehen,
Lediglich die Installation des Package hat mich 3 Stunden gekostet, da es ein Rattenschwaz ohne ende war, der mit installiert werden muste.
Zumindest auf meinem PI4
Ohne diese Information hätte ich unter Garantie versucht dies zu fuß aufzubauen.
Code: Alles auswählen
label.caption:= 'gnublin.no-ip.info'
windows 10 (L 3.99.0.0 FPC 3.2.0)