Hallo Zusammen,
ich habe ein seltsames Problem:
ich habe eine Form die eine Hardware initalisiert und das dabei auch Werte über ein Event zurückgibt:
C#-Quelltext
1: 2: 3:
| EventHandler evt = new EventHandler(this.BarcodeReader_OnRead); SingletonProvider<Symbol_Class>.Instance.AttachReadNotify(evt); |
soweit so gut, funktioniert auch tadellos
nun wird aus dieser Form ein Menü aufgerufen
C#-Quelltext
1: 2: 3: 4: 5:
| MainForm mainForm = new MainForm(); BarcodeReaderDeregisterMethods(); mainForm.ShowDialog(); |
nun rufe ich aus dem Menü heraus eine weitere Form auf
C#-Quelltext
1: 2: 3:
| Form blub= new Form(); blub.ShowDialog(); |
in der Form weise ich ebenfalls wieder events zu
C#-Quelltext
1: 2: 3:
| EventHandler evt = new EventHandler(this.BarcodeReader_OnRead); SingletonProvider<Symbol_Class>.Instance.AttachReadNotify(evt); |
und da habe ich mein Problem:
denn sobald das Event in der blub Form ausgeführt werden soll, passiert gar nichts.
D.h. mein zugewiesenes Event wird nicht beachtet bzw. die Methode wird nicht angesprochen.
Sobald ich wieder die 3. und 2. Form schliesse, wird mein Event (aus Form 3) ausgeführt in der Methode der 1.Form.
was ich schon rausgefunden habe ist folgendes:
Sobald ich die Form 1 dispose funktioniert auch das Event aus Form 3.
Nur ist das keine Alternative für mich da ich in der 1.Form unter anderem den Singleton intialisiere und auch noch einige andere wichtige Programmparameter setze. Ausserdem will ich der Ursache auf den Grund gehen.
ich hoffe ich habe mich halbwegs verständlich ausgedrückt.
Thx für eure Hinweise