A current project has required me (old MF BAL programmer, but Visual Basic beginner) to connect a Windows NT PC applcation to an IBM mainframe CICS application using TCP/IP. I have successfully accomplished this via Visual Basic using the Winsock control on the PC. However, one surprise was that in the executable version of the code (not in the development mode), when data arrived from the MF, and I popped a Msgbox in the data arrival event, the box would display, but if more MF data arrived, Windows would again fire the data arrival event resulting in two or more events processing through the same data arrival event code simultaneously. My question is, using the Winsock control, when is the data arrival event triggered by Windows, and is there anyway to tell Windows to wait until the current data being processed is completed (End of data arrival sub) before firing a new data arrival event? Thanks!