0

谁能指出我正确的方向,我似乎徒劳地在网络上循环......

private: System::Void loginButton_Click(System::Object^  sender, System::EventArgs^  e) {
             mLogin* lgn;
             string text = marshal_as<string>(subjectName->Text);

             if (lgn->login(&text) == "Master")
             {
                 delete this;
                 mSockServ server;
                 vMaster master;
                 Thread^ newThread = gcnew Thread(gcnew ThreadStart(master, &vMaster::ShowDialog));
                 newThread->Start();

                 //master.ShowDialog();
                 server.sockInit();
             }
             else if (lgn->login(&text) == "Slave")
             {
                 delete this;
                 vSlave slave;
                 mSockClnt client;
                 Thread^ newThread = gcnew Thread(gcnew ThreadStart(client, &mSockClnt::sockInit));
                 newThread->Start();
                 //client.sockInit(text);
                 slave.ShowDialog();
             }
             else if (lgn->login(&text) == "No")
             {
                MessageBox::Show("Not a valid username or password");
             }
         }

我只想在一个新线程中启动一个新表单,以便它与我也想在一个新线程中启动的套接字服务器或客户端同时运行。我似乎既不能启动套接字也不能启动表单,这是我的错误:

错误 1 ​​错误 C3352:“ShowDialog”:指定的函数与委托类型“void (void)”不匹配

错误 2 错误 C3352: 'void mSockClnt::sockInit(std::string)' : 指定的函数与委托类型 'void (void)' 不匹配

虽然我确保 sockInit 是 void 类型...

谢谢你。

4

0 回答 0