Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » mehrere CSerialPort

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.07.2006, 11:34 Uhr
Andrea19791



HI in die große weite Welt,

ich habe mal wieder ein kleines Problemchen.

Ich habe ein porg geschrieben, welches über die CSerialPort Klasse Daten von zwei ComPorts empfängt. Hierzu habe ich die Klasse zwei mal abgeleitet.
Nun wollte ich auch noch eine dritte Schnittstelle auslesen und bin genau so vorgegangen wir zuvor. Leider geht das aber nicht. beim kompilieren erscheint zwar keine fehlermeldung, allerdings erscheint beim ausführen ein Ausnahmefehler.

Was mache ich falsch? wer kann mir weiterhelfen? wieso funktionieren 2 ports, 3 allerdings nicht?

liebe Grüße

andrea
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.07.2006, 11:57 Uhr
ao

(Operator)


Hallo Andrea,

Zitat von Andrea19791:
Was mache ich falsch?

Versuch den Fehler einzugrenzen. "Ich krieg ne Exception" hilft nicht gerade weiter.

Benutz den Debugger (F5 statt Ctrl-F5) und untersuch die Stelle, an der das Programm abstürzt.

Zitat:
wieso funktionieren 2 ports, 3 allerdings nicht?

Mal raten:
* Dein PC hat nur zwei serielle Ports
* Du hast beim Kopieren einen Fehler gemacht und versuchst, denselben Port zweimal zu öffnen. Du kriegst ein ungültiges Handle, prüfst das nicht und fliegst beim Zugriff auf die Nase.
* Du hast dich mit der Puffergröße für Read vertan und stellst zu wenig Speicher zur Verfügung (oder überhaupt keinen). Das kracht, wenn der Port Daten in den Puffer schreiben will.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.07.2006, 12:34 Uhr
Andrea19791



den debugger habe ich auch schon versucht, es erscheint aber eine fehlermeldung, mit der ich nichts anfangen kann.

ich habe tatsächlich mehr wie zwei com ports an meinem rechner. daran kann es also auch nicht liegen. außerdem nutze ich die klasse ja noch gar nicht, ich habe lediglich eine dritte abgeleitet.

das sieht bei mir dann im groben so aus:

CSerialPort m_Serial1;
CSerialPort m_Serial2;
CSerialPort m_Serial3;

und funktioniert nicht.

CSerialPort m_Serial1;
CSerialPort m_Serial2;
// CSerialPort m_Serial3;
so funktionierts noch.

auf die Funktionen der Klasse greife ich beim dritten Port noch gar nicht zu.

Ich hoffe das hilft weiter. Ansonsten kann ich auch mal den Code posten oder per mail verschicken.

liebe grüße andrea
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.07.2006, 13:04 Uhr
ao

(Operator)



Zitat von Andrea19791:
den debugger habe ich auch schon versucht, es erscheint aber eine fehlermeldung, mit der ich nichts anfangen kann.

Verrat sie uns trotzdem.

Zitat:
ich habe lediglich eine dritte abgeleitet.

Das sind keine Ableitungen, sondern Instanzierungen. Was ist CSerialPort überhaupt für eine Klasse? Wo stammt die her?

Zitat:
CSerialPort m_Serial1;
CSerialPort m_Serial2;
// CSerialPort m_Serial3;
so funktionierts noch.

Wahrscheinlich hat der Absturz nichts mit m_Serial3 zu tun, sondern der Fehler ist schon die ganze Zeit da, und ob er zum Absturz führt oder nicht, hängt von Zufälligkeiten ab (sogenannter "Heisenbug").

Benutz den Debugger. An welcher Stelle stürzt das Programm ab? Mit welcher Meldung?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.07.2006, 13:58 Uhr
Andrea19791



die Klasse CSerialPort ist aus dem Internt downgeloaded. Sie stellt die Funktionen zur kommunikation mit den Ports. die klasse ist hier erhältlich

-> www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c2483


beim debuggen erscheint die Meldung "Inbehandelte Ausnahme in Inkli001.exe: 0x0000005:Access Violation" -> kann man hiermit was anfangen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.07.2006, 16:14 Uhr
ao

(Operator)


Auf codeguru.com gibts ein Beispielprogramm. Funktioniert das bei dir? Und was ist bei deinem Programm anders?

Die Fehlermeldung bedeutet, dass du auf Speicher zugreifst, der dir nicht gehört. Zeig mal den Code, mit dem du empfangene Daten abholst und den Code, der die Schnittstelle vorbereitet.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.07.2006, 16:16 Uhr
ao

(Operator)


Ach ja, wieviel Vorwissen hast du? Bist du "blutige" Anfängerin (im Hallo-Welt-Stadium) oder hast du schon mal ein Programm gebaut?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.07.2006, 17:15 Uhr
Andrea19791



ich habe zwar schon das ein oder andere Prog geschrieben, doch bin ich noch richtig in der lernphase, also eher blutige anfängerin.
ich hab mir das prog mal angesehen, sieht vielversprechend aus. Vielleicht kann ich da meinen fehler erkennen und das ein oder andere abspicken.

danke
andrea
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: