cdholding image

comm32 home
comm32 forum
buy comm32

Introduction
Install SComm32
Why Not MsComm?

Properties
   .Break
   .CDHolding
   .CommEvent
   .CommName
   .CommPort
   .CTSHolding
   .DSRHolding
   .DTREnable
   .EOFChar
   .EOFEnable
   .Handshaking
   .InBufferCount
   .InBufferSize
   .Input
   .InputLen
   .InputMode
   .NullDiscard
   .OutBufferCount
   .OutBufferSize
   .OutPut
   .OverlappedIO
   .ParityReplace
   .PortOpen
   .RThreshold
   .RTSEnable
   .Settings
   .STHreshold

OnComm Event
Hardware/Cables etc

OverlappedIO

Improves performance by using an Asynchronous thread for transmitting, receiving data.

The default is True. OverlappedIO is enabled. Do not change this without fully understanding the implications.

Can be set at design time and at runtime "before" the port is opened.

         Syntax object.OverlappedIO = value
     
  object Name of the communications control.
  value A boolean expression. True/False to enable/disable OverlappedIO
     
  Example.  
    object.OverlappedIO = True '// Enable OverlappedIO
       

Remarks:

When you place data into the transmit buffer - without overlappedIO - your application would hang until all the data has been transmitted. When OverlappedIO is enabled the output method will return immediately and the asynchronous thread in the windows com driver transmits your data in the background. This allows your application to remain responsive even under heavy load and/or adverse flow control conditions.

When using the OnComm event to create an event driven application you would be notified via the OnComm event when the transmission is complete.

If you do not wish to use OnComm events then you can read the OutBufferCount property to detect when the transmission is complete.

How Is this different to MSComm32 ? MScomm32 also uses OverlappedIO although if you attempt to queue more data while a previous overlapped operation is pending then the output method might not return (Your application locks up) until all write operations are completed. In effect this means that MSComm32 might only allow one overlapped operation preventing you from queuing more data until the previous output is complete.

Using our SComm32 ocx that limitation does not apply and you can continually insert data into the output buffer - although you should of course monitor the OutBufferCount to ensure that you have space in the output buffer.

There are few cases where you might wish to disable OverlappedIO. For example if you were developing a time critical polling protocol or simply sending small packets of data in a tight loop then it might be beneficial to disable OverlappedIO and then you would know that the Output method only returns when your data has been sent.

 

 
32bit development in VB6 using the Comm32 Communications OCX ?

Or are you looking for a proper .Net Component ?

Carry on using most of the common and well documented MSComm32 syntax but with a proper .net component allowing you to build x86, x64 and AnyCPU projects using Visual Studio 2005, 2008 and 2010.

www.Comm64.com
The x86, x64 and AnyCPU
Serial component

 

 

Copyright (c) 2010 Axis Controls Ltd