您应该创建一个事件,触发它,你在处理接收到的事件串行数据后的数据。如果需要,您可以使用自定义事件参数传递数据。
这是你的DLL的代码:实现你应该设置在你的应用程序中的事件处理程序代码后
public delegate void dllFinishedHandler(object sender, object tag);
public event dllFinishedHandler DllFinished;
protected virtual void OnDllFinished(object e)
{
if (DllFinished!= null)
DllFinished(this, e);
}
。
下面的代码将对象传递给应用程序。您可以使用SerialDataReceivedEventArgs或自定义事件处理程序也可能是这样的:
public delegate void dllFinishedHandler(object sender, SerialDataReceivedEventArgs eventArgs);
public event dllFinishedHandler DllFinished;
protected virtual void OnDllFinished(SerialDataReceivedEventArgs e)
{
if (DllFinished!= null)
DllFinished(this, e);
}
从EventArgs的继承
,并在代码中使用它下面,而不是SerialDataReceivedEventArgs的:
public class DllEventArgs : EventArgs
{
private byte[] buffer;
public byte[] Buffer
{
get
{
return buffer;
}
}
public DllEventArgs(byte[] buff)
{
buffer = buff;
}
}
那么你的应用程序可以到达缓冲区(我直接从事件中猜测它的byte [])。
是DLL一个.NET类库或本机库? – 2011-01-14 07:28:09