|
버튼을 클릭하면 DB내용을 가져와서 팝업메뉴를 동적으로 생성해서 팝업메뉴에 보여주는건데여...
버튼을 한번 클릭하면 가져와서 보여주는데 두번째 클릭하면 컴포넌트가 존재한다는 오류가 나옹는데여...
한번 생성된 메뉴아이템이 삭제가 되질 않아서 그런것 같은데...어떻게 삭제를 해줘야 하는지...
팝업에 다 보여준 후에 delete를 하면 OnClick이벤트에서 아이템을 찾을수 없어서 삭제를 할수가 없고....어떻게 해야할지...
방법좀 알려주세요....
소스는...
TPopupMenu *MyPopup = new TPopupMenu(this); //팝업메뉴 생성..
this->PopupMenu = MyPopup;
MyPopup->AutoHotkeys = maManual;
TMenuItem *Item = new TMenuItem(this); //메뉴아이템생성..
Item->AutoHotkeys = maParent;
AnsiString SqlStr; //쿼리부분..
SqlStr = "Select * From AAA";
if(MData->qryTemp->Active) MData->qryTemp->Active = false;
MData->qryTemp->SQL->Clear();
MData->qryTemp->SQL->Add(SqlStr);
MData->qryTemp->Active = true;
if(!MData->qryTemp->Eof){
while(!MData->qryTemp->Eof){
Item = new TMenuItem(this);
Item->Caption = MData->qryTemp->FieldByName("bbb")->AsString;
Item->Name = MData->qryTemp->FieldByName("ccc")->AsString;
//<---여기서 에러가 납니다...한번은 에러가 안나는데...두번째 부터는 에러가 납니다..
이미 생성이 되어 있어서 그런것 같은데...방법이 없을까여?...
MyPopup->Items->Add(Item);
MData->qryTemp->Next();
}
}
MData->qryTemp->Active = false;
int x = Left + BEventSort->Left + 15;
int y = Top + GroupBox2->Height + BEventSort->Top + BEventSort->Height + 45;
MyPopup->Popup(x,y);
|