BlondyBoy
08.11.2004, 11:30:47
Hi
Ich habe noch ein Problem mit meiner Anwendung.
Und zwar:
Ich starte meine Dialogfeldbasierende Anwendung. Im Hauptdialog öffne ich eine zweiten Dialog. Mit diesem Dialog öffne ich den ComPort, Lese dann vom Port und schließe ihn wieder. Danach wird der Dialog auch gleich automatisch geschlossen und ich bin wieder im Hauptdialog. Wenn ich den zweiten Dialog jetzt erneut aufrufe und den ComPort dann wieder öffnen will bekomme ich eine Fehlermeldung. Aber keine vom System sondern eine von mir generierte.
Ich rufe CreateFile wie folgt auf und frage danach ab ob eine gültiges Handle auf den ComPort existiert. Und dort wird die Fehlermeldung aufgrerufen und die Funktion zum öffne und inistialisieren des ComPorts abgebrochen:
hFile_Read = CreateFile( // Handle auf den Com-Port beziehen und nötige
// PARAMeter übergeben!
lptstrPortName,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL
);
if(hFile_Read==INVALID_HANDLE_VALUE)
// Sicherheitsabfrage ob öffnen des
// Ports erfolgreich wenn nicht dann
{
hFile_Read=0; // HANDLE auf den Port auf 0 setzten
g_csErrorText_Read = "Fehler!! COM Bezeichner falsch";
// Fehlertext deklarieren
AfxMessageBox(g_csErrorText_Read);
// Fehlertextausgabe
return 0; // gebe 0 zurück (Fehlercode)
}
Was kann ich falsch gemacht haben das es nur einemal ausführbar ist und danach nicht wieder?
Für meine Anwendung ist das wichtig da ich z.B. aus einem Gerät Daten auslesen will und dann das gleiche nochmal aus einem zweiten oder dritten Gerät.
MfG
BlondyBoy
Ich habe noch ein Problem mit meiner Anwendung.
Und zwar:
Ich starte meine Dialogfeldbasierende Anwendung. Im Hauptdialog öffne ich eine zweiten Dialog. Mit diesem Dialog öffne ich den ComPort, Lese dann vom Port und schließe ihn wieder. Danach wird der Dialog auch gleich automatisch geschlossen und ich bin wieder im Hauptdialog. Wenn ich den zweiten Dialog jetzt erneut aufrufe und den ComPort dann wieder öffnen will bekomme ich eine Fehlermeldung. Aber keine vom System sondern eine von mir generierte.
Ich rufe CreateFile wie folgt auf und frage danach ab ob eine gültiges Handle auf den ComPort existiert. Und dort wird die Fehlermeldung aufgrerufen und die Funktion zum öffne und inistialisieren des ComPorts abgebrochen:
hFile_Read = CreateFile( // Handle auf den Com-Port beziehen und nötige
// PARAMeter übergeben!
lptstrPortName,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL
);
if(hFile_Read==INVALID_HANDLE_VALUE)
// Sicherheitsabfrage ob öffnen des
// Ports erfolgreich wenn nicht dann
{
hFile_Read=0; // HANDLE auf den Port auf 0 setzten
g_csErrorText_Read = "Fehler!! COM Bezeichner falsch";
// Fehlertext deklarieren
AfxMessageBox(g_csErrorText_Read);
// Fehlertextausgabe
return 0; // gebe 0 zurück (Fehlercode)
}
Was kann ich falsch gemacht haben das es nur einemal ausführbar ist und danach nicht wieder?
Für meine Anwendung ist das wichtig da ich z.B. aus einem Gerät Daten auslesen will und dann das gleiche nochmal aus einem zweiten oder dritten Gerät.
MfG
BlondyBoy