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