Hi
Wie oben schon geschrieben, hab ich das Problem, dass bei meinem selbsterstellten Event, mit eigenen EventArgs der EventHandler immer null ist!!
hier erstell ich mein Event
Hier ruf ich es auf
Hier ist meine ?deklaration? (is das eine Deklaration?)
und das ist mein Event
Und natuerlich noch die EventArgs
Ich glaub ich hab irgendwas vergessen!! nur was****
Ich hoffe ihr koennt mir weiterhelfen
mfg
Bastian
Wie oben schon geschrieben, hab ich das Problem, dass bei meinem selbsterstellten Event, mit eigenen EventArgs der EventHandler immer null ist!!
hier erstell ich mein Event
Code:
public event EventHandler<SerialEventArgs> SerialreceiveEvent;
protected virtual void OnSerialreceiveEvent(SerialEventArgs e)
{
EventHandler<SerialEventArgs> serialreceiveevent = SerialreceiveEvent;
if (serialreceiveevent != null)
{
serialreceiveevent(this, e);
}
}
Hier ruf ich es auf
Code:
private void SerialRead(byte[] data)
{
byte[] message = new byte[7];
data.CopyTo(message, 0);
OnSerialreceiveEvent(new SerialEventArgs(message));
}
Hier ist meine ?deklaration? (is das eine Deklaration?)
Code:
public TCPServer()
{
serialcom2.SerialreceiveEvent += Serialrec_SerialrecEvent;
}
und das ist mein Event
Code:
private void Serialrec_SerialrecEvent(object objSender, SerialEventArgs e)
{
HWAddress[0] = e.SerialData[0];
HWAddress[1] = e.SerialData[1];
HWAddress[2] = e.SerialData[2];
HWAddress[3] = e.SerialData[3];
int GateLightindex = ServerGatelist.FindIndex(FindrightLight);
for (int i = 0; i < lights.Count; i++)
{
if (lights[i].getAddress() == ServerGatelist[GateLightindex].GetAddress())
{
lights[i].setRGBRed(e.SerialData[4]);
lights[i].setRGBGreen(e.SerialData[5]);
lights[i].setRGBBlue(e.SerialData[6]);
}
}
for (int i = 0; i < ServerGatelist.Count; i++)
{
if (HWAddress == ServerGatelist[i].GetHardwareaddress())
{
udpserver.UDP_Server_Light(ServerGatelist[i].GetGroup(), ServerGatelist[i].GetAddress());
break;
}
}
}
Und natuerlich noch die EventArgs
Code:
using System;
using System.Collections.Generic;
using System.Text;
namespace Lightcontrol
{
class SerialEventArgs : EventArgs
{
private byte[] serdata = new byte[8];
public SerialEventArgs(byte[] value)
{
serdata = value;
}
public byte[] SerialData
{
get { return serdata; }
set { serdata = value; }
}
}
}
Ich glaub ich hab irgendwas vergessen!! nur was****
Ich hoffe ihr koennt mir weiterhelfen
mfg
Bastian