Hallo,
ein Fehler steckt auf jeden Fall schon mal in der Zeile wo du die neuen Items hinzufügen willst. Vor dem Aufruf solltest du die Instanz erst mal mit einem Create-Aufruf erzeugen.
Dann noch Vorsicht wenn du einfach ein Objekt einem anderen zuweist, da wird nicht das ganze Objekt sondern quasi nun ein Verweis zugewiesen. Da muß du dann wie schon richtig von dir gedacht mit assigned arbeiten. Dafür müssen aber auch beide Objekte wirklich existieren, es muß also mal mit Create erzeugt worden sein.
Ich habe es jetzt nicht ausprobiert aber ich denke so könnte es funktionieren:
Delphi-Quellcode:
MenuOld := TMainMenue.Create(Self);
MenuNew := TMainMenue.Create(Self);
MenuOld.Assign(Mainmenue);
MenuNew.Items.Add(...) // Menü aufbauen
Mainmenue.Assign(MenuNew);
MenuNew.Free;
MenuOld.Free;