das war doch vom Ansatz her schon ganz gut:
Delphi-Quellcode:
var
i: Integer;
miNew,
miOld: TMenuItem;
begin
MenuExtras.Clear;
for i := 0 to PopupMenu.Items.Count - 1 do
begin
miOld:=PopupMenu.Item[i];
miNew:= TMenuItem.Create(Self);
miNew.assign(miOld);
MiNew.Name := 'Extra' + IntToStr(i);
niNew.parent:=MenuExtras;
end;
Das ist jetzt untested, vielleicht gibt es aerger, mit dem assign, weil eine Komponente dieses Namens bereits existiert, dann musst Du die Zuweisungen halt von Hand machen ...