WPF-Appliaktion und Events

18/08/2008 - 21:09 von Wojtek Kusch | Report spam
Hallo!
Ich habe eine WPF-Applikation, in der ich die TastenCodes von einer
X10-Fernbedienung anzeigen möchte.
Im Constructor des Fensters rufe ich InitalizeX10 auf.
Wenn ich dann auf eine Taste der Fernbedienung drücke, wird korrekterweise
IX10_X10Command aufgerufen und der Inhalt bszCommand ausgegeben.
Das funktioniert paar mal, irgendwann aber wird IX10_X10Command nicht
mehr aufgerufen... es tut sich nichts. Gehen die Events verloren?
Wenn ich das gleiche innerhalb einer normalen WindowsAplliakrion tue,
funktioniert aber alles okay - es geht kein Event verloren.

Was mache ich denn falsch? Ich verstehe es nicht.
Danke für die Hilfe!
Wojtek



private void InitalizeX10()
{
iX10 = new X10InterfaceClass();
iX10.X10Command += new
_DIX10InterfaceEvents_X10CommandEventHandler(IX10_X10Command);
}


private void IX10_X10Command(string bszCommand, EX10Command
eCommand, int lAddress, EX10Key EKeyState, int lSequence, EX10Comm
eCommandType, object varTimestamp)
{
if (EKeyState != EX10Key.X10KEY_OFF)
{
Console.WriteLine(bszCommand);

}
}
 

Lesen sie die antworten

#1 Wojtek Kusch
18/08/2008 - 22:09 | Warnen spam
Hallo!
Ich glaube das hàngt mit den Operationen zusammen, die ich in
IX10_X10Command mache (und ich fàlschlicherweise im Quellcode nicht
erwàhnt habe): ich weise einem objekt mehrere werte zu.
Deswegen meine Frage: in der ganzen Event-Abfrage darf sich kein
zeitaufwàndiger Code befinden, oder? Deswegen alles ins Thread?
Backroundworker?
Danke für die Hilfe!
Wojtek




Wojtek Kusch schrieb:
Hallo!
Ich habe eine WPF-Applikation, in der ich die TastenCodes von einer
X10-Fernbedienung anzeigen möchte.
Im Constructor des Fensters rufe ich InitalizeX10 auf.
Wenn ich dann auf eine Taste der Fernbedienung drücke, wird korrekterweise
IX10_X10Command aufgerufen und der Inhalt bszCommand ausgegeben.
Das funktioniert paar mal, irgendwann aber wird IX10_X10Command nicht
mehr aufgerufen... es tut sich nichts. Gehen die Events verloren?
Wenn ich das gleiche innerhalb einer normalen WindowsAplliakrion tue,
funktioniert aber alles okay - es geht kein Event verloren.

Was mache ich denn falsch? Ich verstehe es nicht.
Danke für die Hilfe!
Wojtek



private void InitalizeX10()
{
iX10 = new X10InterfaceClass();
iX10.X10Command += new
_DIX10InterfaceEvents_X10CommandEventHandler(IX10_X10Command);
}


private void IX10_X10Command(string bszCommand, EX10Command
eCommand, int lAddress, EX10Key EKeyState, int lSequence, EX10Comm
eCommandType, object varTimestamp)
{
if (EKeyState != EX10Key.X10KEY_OFF)
{
Console.WriteLine(bszCommand);

}
}

Ähnliche fragen