2011-10-19 8 views
0

handleResponseがデリゲート関数 "func"を呼び出すたびに、私のGUIは例外なくクラッシュします。デリゲート関数は、GUIのRichTextBoxにテキストを追加します。GUIのシャープなGUI /ソケットのクラッシュが発生する

"connect"でthis.funcを呼び出すとうまく動作します。

private void handleResponse(IAsyncResult result) 
{ 
    try 
    { 
     this.func.Invoke("test"); 
    } 
    catch (Exception e) 
    { 
     throw e; 
    } 
} 

public void connect(string ip, int port, delegateFunction func) {  
    try 
    { 
     connection.Connect(ip, port); 
     socket = connection.Client; 
     this.func = func;    
     socket.BeginReceive(incomingBuffer, 0, incomingBuffer.Length, SocketFlags.None, handleResponse, null); 
    } 
    catch (Exception e) 
    { 
     throw e; 
    } 
}   

答えて

0

スレッドの問題である可能性があります。あなたのGUIはおそらく、特定のGUIスレッドで更新されなければならないでしょう。そのスレッドに切り替える方法は、使用するGUIフレームワークに固有のものです。

関連する問題