018
28.09.2004, 15:01 Uhr
Mr. T
|
Zitat von ao: |
Dazu musst du im CreateFile die Flagge FILE_FLAG_OVERLAPPED setzen und im ReadFile eine ausgefüllte OVERLAPPED-Struktur übergeben. An dem Event, das du in das OVERLAPPED reinreichst, kannst du anschließend warten.
|
Ey, Danke! Hammer, daß man sich so auskennen kann und noch so hilfreich ist, wie mache ich das bloß wieder gut?
Heisst das, dass ich den CancelIO() dann im readfile(..,..,..,..,cancelio()) aufrufen muß? Und: die"gOverLapped.Offset=0;gOverLapped.OffsetHigh=0;" sind wofür? Oder einfach so übernehmen? Wie steuere ich dann das Ereignis von com2 auf cancelio()?
Oder: kann ich dann eine bool variable x ins readfile readfile(..,..,..,..,x) schreiben, welche auf true(?) gesetzt wird, wenn com2 ereignis stattfindet!? Das hiesse, die Funktion readfile wird verlassen und die nächste Zeile kann im Programm während des Einlesens des Strings verarbeitet werden, obwohl noch daten in das Stringfeld geschrieben werden?! so: gOverLapped.Offset = 0; gOverLapped.OffsetHigh = 0; gOverLapped.hEvent = x; readfile(com1,..,..,..,&gOverLapped);//lesen bis Buffer voll aber mit overlapped readfile(com2,..,..,..,..);//auf com2 horchen if(..)//com2 ereignis { x=cancelio(com1);//readfile von com1 aschiessen }
Muss ich dazu noch Headerdateien einfügen? windows.h ist schon drin. Wie mache ich diese drei gOverLapped. Aufrufe? Vor dem main()?
DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -- So ist das! Dieser Post wurde am 28.09.2004 um 15:23 Uhr von Mr. T editiert. |