Q&A

  • 자식을 Free시키는 문제...
Popupmenu 에 TMenuItem을 동적으로 생성해서 붙였습니다.

그런데, Free가 문젠데요...



일단 아래를 보시면요...



procedure TfrmMain.PopupMenuPopup(Sender: TObject);

var

item : TMenuItem;

begin

item := TMenuItem.Create(nil);

item.caption := 'asdfasdf';

PopupMenu.items[0].Add(item) // item은 popupmenu.item[0]의 submenu로 들어가야 함.

end;



만약에 이렇게 생성한다면 Free는 어떻게 하죠?

TMenuitem.create(nil)하면 부모가 설정이 않되어 있어서 자동으로 Free되지

않는 걸로 알고 있습니다.

item변수를 전역으로 해놓고, 폼이 죽을때 item.free해 줘야 하나요?



또 TMenuItem.Create(PopupMenu.Items[0])으로 해주면 자동으로

Free되는 것이 맞는지 알고 싶습니다.

0  COMMENTS