ReadFile() meldet immer Error 87 (Invalid Parameter)
-
Hallo!
Nachdem ich mich jetzt durch zig Seiten gewühlt habe hab ich es endlich fast hinbekommen:
Ich öffne eine serielle Verbindung zum Comport und lese Overlapped.
Ich sehe auch schön wie da immer mehr Zeichen im Buffer eintrudeln (bei 4076 empfängt er dann nichts mehr, vermutlich weil ich nichts abhole).
Diese Zeichen will ich dann mit Readfile auslesen:ReadFile(ComPort, InString,sizeof(InString),&cnt,&com)Der Aufruf schlägt immer Fehl mit LastErrorCode == 87. Ich bin mir sehr sicher das die Parameter stimmen, ich vermute ich muss vorher noch irgendwas anderes aufrufen?Hier mal die aktuelle Reihenfolge:
CreateFile(); // Setup usw. WaitCommEvent() // Meldet EV_RXCHAR WaitForSingleObject() // Meldet WAIT_OBJECT_O und ab und an (normal) ein Timeout Bei Wait_OBJECT_0 rufe ich GetOverLappedResult() auf, die ist erfolgreich und danach dann ReadFile // Schlägt wie gesagt fehlDie Zeichen sind ja da! Es scheit alles zu stimmen nur ich kann sie nicht abholen

-
Alles klar, die blöde OVERLAPPED Struktur war nicht richtig initialisiert.
Arrr
OVERLAPPED com = { 0};
Und es ging!
Ich hasse diese comkacke
-
Benutz doch einfach einfach DIE Serial Klasse:
http://www.codeproject.com/KB/system/serial.aspxFertig, getestet, Overlapped oder nicht, Callbacks oder Windows Messages...
Simon
-
Ich will/kann keine mfc verwenden, deswegen fällt die raus.
-
commer schrieb:
Ich will/kann keine mfc verwenden, deswegen fällt die raus.
Du hast nicht gelesen! Diese Klasse geht auch ohne MFC!
-
Hm muss ich mich einloggen bei sourceforge?
Page Not Found beim runterladen
-
commer schrieb:
Hm muss ich mich einloggen bei sourceforge?
Page Not Found beim runterladen
Nein, das würde Dir nicht helfen, denn die Seite ist von CodeProject.
Denken hilft im Leben...
Simon
-
simon.gysi schrieb:
commer schrieb:
Hm muss ich mich einloggen bei sourceforge?
Page Not Found beim runterladen
Nein, das würde Dir nicht helfen, denn die Seite ist von CodeProject.
Denken hilft im Leben...
SimonWenn denken im Leben hilft, dann hättest du mal kombinieren sollen. Dann hab ich eben Sourceforge und codeproject vertauscht, wuhuhuu! Für die eigentliche Frage ist das egal.
-
lol da hat commer recht, immer diese schlaumeier kommentare die nerven mich auch total
-
@commer/ascda
Auf so eine Frage muss man mit so einer Antwort rechnen.
Vor allem wenn die Frage so nach Faulheit stinkt. Sowas kann man schliesslich selbst nachlesen.Antwort: ja, soweit ich weiss muss man einen Account anlegen und sich einloggen. "Page not found" sollte trotzdem nicht kommen, sondern eine Seite die genau das sagt, nämlich "bitte einloggen".