Hallo,
ich versuche gerade eine dll zu schreiben und diese dann in ein Programm einzubinden und zu nutzen. Ich habe hier einen Kartenleser welcher das Event triggern soll wenn eine Karte durchgezogen wird.
In der DLL gibt es die Klassen Initialisierung, COMPort und Settings. In meiner Form verweise ich auf die DLL und erstelle von der Klasse Initialisierung ein neues Objekt.
Also ich initialisiere den Port und abonniere ein Event.
In der Funktion die dort aufgerufen wird verarbeite ich die Daten und schicke sie weiter zu meiner Event Klasse
Und in dieser Klasse ist auch mein (erstes) Problem. DataReceived ist null und wenn ich die If Anweisung wegnehme bekomme ich eine Fehlermeldung: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."} System.Exception {System.NullReferenceException}
Ist mein Aufruf falsch? Irgendetwas habe ich ja vergessen... muss ich es vorher irgendwie abonnieren? Hab mir schon paar Beispiele angesehen und versucht diese auf mein Projekt zu übertragen aber ich komme hier - noch- nicht weiter.
Schon einmal vielen Dank für die Hilfe.
ich versuche gerade eine dll zu schreiben und diese dann in ein Programm einzubinden und zu nutzen. Ich habe hier einen Kartenleser welcher das Event triggern soll wenn eine Karte durchgezogen wird.
In der DLL gibt es die Klassen Initialisierung, COMPort und Settings. In meiner Form verweise ich auf die DLL und erstelle von der Klasse Initialisierung ein neues Objekt.
Also ich initialisiere den Port und abonniere ein Event.
Code:
Port.Received += new SerialDataReceivedEventHandler(sp_Received);
In der Funktion die dort aufgerufen wird verarbeite ich die Daten und schicke sie weiter zu meiner Event Klasse
Code:
private void sp_Received(object sender, SerialDataReceivedEventArgs e)
{
...
rdt.OnReceived(send);
}
public class Data
{
public event EventHandler<DataEvent> Received;
public delegate void EventHandler(object sender, DataEvent e);
public void OnReceived(byte[] Data)
{
if (DataReceived != null)
{
DataReceived(this, new DataEvent { bData = Data });
}
}
}
public class DataEvent : EventArgs
{
public byte[] bData { get; set; }
}
Und in dieser Klasse ist auch mein (erstes) Problem. DataReceived ist null und wenn ich die If Anweisung wegnehme bekomme ich eine Fehlermeldung: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."} System.Exception {System.NullReferenceException}
Ist mein Aufruf falsch? Irgendetwas habe ich ja vergessen... muss ich es vorher irgendwie abonnieren? Hab mir schon paar Beispiele angesehen und versucht diese auf mein Projekt zu übertragen aber ich komme hier - noch- nicht weiter.
Schon einmal vielen Dank für die Hilfe.
Zuletzt bearbeitet: