object_messages(GuiRoot) get_message(OBJECT_INIT) Send_Message(NULL, my_handle, GuiRoot, UPDATEGUI , 1 ); get_message(SELECTFORM) int selectingform = 0; foreach(MyInternalData.Forms, int) { ++selectingform; if (*iter == messagesender) { for (int i = 0; i < selectingform; i++) { swapvalues(MyInternalData.Forms[i],MyInternalData.Forms[0]); } return; } } get_message(CREATEFORM) MyInternalData.Forms.push_back(messagesender); get_message(DESTROYFORM) foreach(MyInternalData.Forms, int) { if (*iter == messagesender) { MyInternalData.Forms.erase(iter); return; } }