VB 2008 Interrupt durch LPT Port?

Gast #1854221
Lesenswert?

Hallo,

ich hoffe mir kann wer helfen...

Ich möchte das mein Programm ganz normal abläuft, allerdings wenn sich 
ein Eingang am LPT port ändert soll das Programm unterbrochen werden.

Die Abfrage vom LPT port läuft schon.

Ich hab es mit einer DO LOOP Schleife probiert wo in der Schleife 
Application.DoEvents() drin steht, das funktioniert aber leider nicht, 
das Programm bleibt dann nur in der Schleife und macht sonst nichts...
#1854438
Lesenswert?

In deiner grafischen Oberfläche wird dann sowieso alles mit Events 
verarbeitet. Ein Klick auf einen Button löst auch einen solchen Event 
aus.

Wenn du jetzt nen Timer nimmst und das Intervall auf, sagen wir 30ms 
stellst und im Interrupt Handler deines Timers den LPT abfragst könntest 
du auch eine globale Variable verändern und diese in deiner Schleife 
abfragen:
1
bool NotAus = false;
2

3
[...]
4
void WaitForNotAus()
5
{
6
    while (NotAus == false)      // Oder while (!NotAus)
7
    {
8
         [mach dein Zeug]
9
        Application.DoEvents();   // Wichtig, da sonst der Timer Event nicht ausgelöst wird!!
10
    }
11
}
12
[...]
13

14
im Timer Event:
15

16
void Timer_Tick([...])
17
{
18
    if (checkLPT())
19
    {
20
        NotAus = true;
21
    }
22
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren