Запутался с ошибкой -- E2193 Слишком мало параметров в вызове '_fastcall TComponent::GetComponent(int)

Я пытаюсь программно удалить выбранный компонент из его родительского контейнера, используя приведенный ниже код (возможно, я используюfoundнеправильно, но проблема не в этом, предложения приветствуются):

      void __fastcall TScrollControlsListContainer::RemoveItem(TWinControl* ctrl)
{
    // find control in vector containing TWinControl(s)
    std::vector<FWinControl*>::iterator found = std::find_if(FWinControls.begin(), FWinControls.end(), IsCtrl(ctrl));
    if(found != FWinControls.end())
    {
        Components->RemoveComponent(dynamic_cast<TComponent*>(found));
        //[bcc32 Error] ScrollControlsListContainer.cpp(208): E2193 Too few parameters in call to '_fastcall TComponent::GetComponent(int)' Full parser context
    
        FWinControls.erase(found);
    }
}

Меня смущает ошибка, так как в соответствии с приведенным ниже примером файла справки требуется только один параметр:

      void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int I;
    TComponent *Temp;
    Memo1->Lines->Add("Components removed: ");
    Form2->Memo1->Lines->Add("Components added: ");
    for (I = ComponentCount - 1; I >= 0; I--)
    {
        Temp = Components[I];
        // Move only the components that are not controls.
        if (dynamic_cast<TControl *>(Temp) == NULL)
        {
            RemoveComponent(Temp);
            Memo1->Lines->Add(Temp->Name);
            Form2->InsertComponent(Temp);
            Form2->Memo1->Lines->Add(Temp->Name);
        }
    }
}

Что мне здесь не хватает?

0 ответов

Другие вопросы по тегам