Einsteigerfragen zur PROFAN Programmierung

| Suchen
| Zurück zur Übersicht

Autor | Thema: ESC und CTRL-C
Andreas Spelter
| Datum:24.07.02 13:03 (andreas.spelter@t-online.de) |
Moin moin, noch ein Problem im Terminalprogramm. Funktioniert schon alles sehr gut, aber CTRL-C und ESC machen mir Probleme. CTRL-A, CTRL-B, CTRL-D, CTRL-E, ... funktionieren. Wenn ich ein CTRL-C senden will hängt mein Programm sich auf, empfangen kann ich es. In diesem Fall ist es egal ob ich mein Programm unter Profan mit RUN starte oder ohne Profan die von mir erstellte EXE. Mit ESC ist es etwas anders, das kann ich senden wenn ich mein Programm unter Profan mit RUN ausführe. Wenn ich aber die EXE ausführe bekomme ich einen "Anwendungsfehler" mit folgendem Inhalt: Exeption EAccessViolation im Modul TERMINAL.EXE bei 000336C5 Zugriffsverletzung bei Adresse 0043483D. Lesen von Adresse FFFFFFFF Das selbe Problem habe ich auch wenn ich das ESC empfange. Bei beiden Fehlern verschwindet der Titel in meinem Programmfenster und nur mein Programm läuft nicht mehr, Windows und alles anderen Anwendungen laufen noch. Diese beiden Zeilen habe ich unter anderem in meiner Hauptschleife: let sTxChar$ = inkey$() case sTxChar$ <> "" : pSendeZeichen sTxChar$ und das ist die Prozedur pSendeZeichen rem Prozedur sende Zeichen proc pSendeZeichen parameters s1$ writecom(iGerät%,s1$) comerror(iGerät%) if ord(s1$) < 32 if ord(s1$) < 16 let s1$ = "[0"+hex$(ord(s1$))+"]" elseif let s1$ = "["+hex$(ord(s1$))+"]" endif endif drawtext iXPosTx%,100,s1$ let iXPosTx% = iXPosTx% + len(s1$) * 9 if iXPosTx% > 590 let iXPosTx% = 10 whileloop 16 copybmp 5,10-620,120 > 5,9,0 endwhile endif let sZeichen$="" endproc Über einen Timer rufe ich jede Millisekunde die folgende Prozedur auf um alle Zeichen von der Schnittstelle abzuholen: rem Prozedur Zeichen empfangen proc pZeichenEmpfangen let sRxChar$ = readcom$(iGerät%,1) comerror(iGerät%) while sRxChar$ <> "" if ord(sRxChar$) < 32 if ord(sRxChar$) < 16 let sRxChar$ = "[0"+hex$(ord(sRxChar$))+"]" elseif let sRxChar$ = "["+hex$(ord(sRxChar$))+"]" endif endif drawtext iXPosRx%,400,sRxChar$ let iXPosRx% = iXPosRx% + len(sRxChar$) * 9 if iXPosRx% > 590 let iXPosRx% = 10 whileloop 16 copybmp 5,150-620,270 > 5,149,0 endwhile endif let sRxChar$ = readcom$(iGerät%,1) endwhile endproc Was stimmt hier nicht? Viele Grüße Andreas Spelter
Thorsten
| Datum:24.07.02 17:17 (mrk@mrk-soft.de) |
Hi, Das mit CTRL+C hatten wir schon mal (glaub Mailling-Liste), und wohl ein Bug in Profan. Jedenfalls ist das nur in Profan so, wenn diese Kombination gedrückt wird, das sich das Prog dann Aufhängt. Lösung: Bisher unbekannt !!!
Andreas Spelter
| Datum: 30.07.02 07:42 (andreas.spelter@t-online.de) |
Moin moin, und was ist mit ESC das im Interpreter funktioniert, in der EXE aber nicht? Viele Grüße Andreas Spelter

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |