LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Timer-callback wird ausgelöst bei Mausbewegung

Guten Tag,

 

Eine meiner Anwendung zeigt ein eigenartiges Verhalten.

 

Es geht um eine Anwendung, die jede Sekunde daten über die RS232 abfrägt. Das Abfragen wird durch einen Timer mit TimerCallback ausgelößt:

 

int CVICALLBACK rohdatenMessen_timer_callback (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
{
    switch (event)
    {
        case EVENT_TIMER_TICK:

 

                //Hier werden die daten via RS232 abgefragt

 

 

                break;
    }
    return 0;
}

 

Entwickeln tu ich unter Windows 7, die Anwendung läuft bei den Kunden zum großen Teil unter Win XP. Nun passiert es bei einem Rechner, dass der Callback auch bei einer Mausbewegung ausgeführt wird. D.h. Daten werden von der RS232 abgefragt wenn die Maus bewegt wird, je schneller desto öfter...

 

Da dies nur bei einem Rechner passiert, nehme ich zwar an, dass es nicht unbedingt an CVI liegt, aber was kann ich tun um hinter den fehler zu kommen?

 

glg,

 

Stefan Hütter

0 Kudos
Message 1 of 2
(3,221 Views)

Hallo Herr Hütter,

 

wenn es auf alle Rechnern außer einen funktioniert, dann liegt es wahrscheinlich an den Rechner, und nicht spezifisch auf CVI.

 

Vielleicht könnten sie probieren, den asynchronen Timer zu verwenden. Sie finden es unter <cvidir>\toolslib\toolbox\asynctmr.fp. Der Callback hat nur kein Panel Parameter, denn es nicht mit einen bestimmten Panel gebunden ist (läuft in einen anderen Thread).

 

Sie könnten auch versuchen, den CVI Run-Time Engine nochmal auf dem PC mit Problemen zu installieren.

 

Mit freundlichen Grüßen,

0 Kudos
Message 2 of 2
(3,156 Views)