Выражение должно быть lvalue или функцией Thread. - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть форма Windows с функцией, которая запускается при нажатии btnStart .Он имеет бесконечный цикл и должен быть остановлен при повторном нажатии кнопки.Проблема в том, что форма Windows перестает отвечать на запросы при запуске цикла, поэтому я использовал код Thread, который я нашел во время поиска в Google.Но оно имеет ошибку выражение должно быть lvalue или обозначение функции .Я искал эту ошибку, но вопрос отличается от моего (я имею в виду поток не используется).Ниже мой код:

bool isStarting = false;


private: System::Void btnStart_Click(System::Object^  sender, System::EventArgs^  e) {
    if (isStarting) {
        isStarting = false;
        groupBox1->Enabled = true;
        btnStart->Text = "Start";
    }
    else {
        isStarting = true;
        groupBox1->Enabled = false;
        btnStart->Text = "Stop";

        fear f(handle, base_addr);
        runCode(base_addr ,hwnd, f);

        Thread ^thr1 = gcnew Thread(gcnew ThreadStart(&MyForm::runCode(base_addr, hwnd, f)));
        thr1->Start();
    }
}


void runCode(long base_addr, HWND hwnd, fear f) {

    while (isStarting) {
        //long code here
    }
}

Ошибка на & MyForm :: runCode .Пожалуйста, помогите им просто новичок в Visual C ++

...