Ich habe C++ Clr-Projekt. Es verwendet API eine Firma (wie Solidworks 'API).Wie kann ich Ausnahme auslösen, wenn die Verarbeitung keine Antwort
So..Mein Problem ist hier passiert.
BOOL rc = m_pc3dCore->Login(m_CdmUser, m_CdmUserPass, m_CdmServer);
Das versuchen, die anderen Server-Anwendung anmelden. Aber wenn diese Anwendung nicht funktioniert, gibt es keine Antwort. Ich kann die nächste Quelle nicht weiterbringen. Debuger Bleibt unendlich "m_pc3dCore-> Login (m_CdmUser, m_CdmUserPass, m_CdmServer);"
Also, ich habe das Wrapping zu verwenden versuchen {} catch (...) {} Aber nichts geändert.
Ich möchte Exception werfen, wenn es dort 4 Sekunden bleibt. Kannst du mir beibringen, wie ich dieses oder ein Schlüsselwort für die Suche lösen kann?
--- meine Meinung Ich dachte, dass ich dies mit System :: Thread Interface lösen. Also habe ich versucht, eine Methode zu machen. Die Methode wird unendlich oft ausgeführt.
void threadFuncA()
{
while(true){
}
}
und machen Thema
Thread^ newThread = gcnew Thread(gcnew ThreadStart(threadFuncA));
newThread->Start();
newThread->Join();
Programmstart Unendlich-Schleife nach newThread- genannt> Join(); Ist es Lösung Exit-Schleife?
- Ich kann nicht versuchen m_pc3dCore- verwenden> Login (m_CdmUser, m_CdmUserPass, m_CdmServer); Da dieser Server jetzt funktioniert, geben Sie True zurück. Infolgedessen kann ich kein Problem passieren. Es ist der Grund, dass ich Endlosschleife-Methode machte.
Vielen Dank!
Danke ich löste yeaster Tag mit thread.join (int msec). Aber ich denke, dass die Verwendung von Alarm kann auch lösen. – user5949771