每当handleResponse调用委托函数“func”时,我的GUI都会崩溃,没有异常。委托函数将文本附加到GUI上的RichTextBox。
如果我在“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 :(得分:0)
可能是一个线程问题。您的GUI可能必须在特定的GUI线程上更新。如何实现切换到该线程特定于您使用的GUI框架。