Async Professional Support


Information and small example programs
(source code only)
for TurboPower Async Professional.

See the section near the bottom of the page for the latest information related to the open-source 4.06 release, and my (Paul Breneman's) history with AsyncPro.

The main support page for the TurboPower libraries

Internet Professional support is here


ExSndRcv.zip version 1.3
Demonstrates some fundamental techniques (data packets, PostMessage, timeouts) to communicate with serial devices.

ExPkt.zip version 1.1
Demonstrates how two data packet components can be used in sequence, and also how data can be collected in a timeout event.

ExComp.zip version 1.1
Demonstrates how to embed an ApdComPort component into another component.

ExComEcho.zip version 1.1
Demonstrates how to embed an ApdComPort component into another component, and shows how it can be used without a form.

ExIsapi.zip version 1.1
Demonstrates one method of using a single AsyncPro port (serial or winsock) to support a multi-threaded ISAPI dll being used by multiple users.


ExLoopTime.zip version 1.1
Can be used to measure the communication delays of Windows, and also shows the speed difference between linear and event-based methods.

ExMult.zip version 1.1
Demonstrates the creation of multiple ApdComPorts at run-time with each port opened in the main program or in it's own thread. Provides the ability to compare the two methods and measure timing of the serial communications while dragging a window, starting a large application, or other operations that may affect serial communications.


The next four examples contain the foundation of a very useful communication "engine". These examples might save you lots of time and effort!  Here is a short top level view.

ExBlock.zip version 1.2
This simplified example demonstrates how AsyncPro data packet components can be used with blocking function calls. In many applications such "linear" (not event based) programming makes the program simpler. The demonstrated blocking function calls are also much better than using a loop with Application.ProcessMessages.

ExThread.zip version 2.3
When you can't use AsyncPro data packet components to receive incoming data, then the simple method of using blocking function calls demonstrated in the ExBlock.zip example above won't work. This example demonstrates how to use an additional thread to achieve the same goal.

ExThreadedClient.zip version 1.7
The ExThread example above has now been extended to handle three different types of connections (Direct, TAPI, Winsock). Included with this example is a test server program that also handles those three types of connections. The plan is to add as much error detection and recovery of the connection as possible in this program. As such this program is not just an example to show these techniques, but it will also become a useful test program to verify errors are properly handled. Check back for new versions of this program.

ExThreadedProtocol.zip version 1.1
The ExThreadedClient example above is extended to handle file transfers. Included with this example is a test server program. The plan is to add as much error detection and recovery of the connection and file transfer as possible in this program. As such this program is not just an example to show these techniques, but it will also become a useful test program to verify errors are properly handled. Check back for new versions of this program.


WnSockUdp.zip version 1.1
These are some patches that can be tried to change the TApdWinsockPort so it does UDP communication rather than TCP/IP.


Various items related to the new 4.06 release

Fixes from 4.05 to 4.06

A little documentation on several terminal properties that are not documented elsewhere: NewTerminalProperties.txt

Integrating 4.06 Help
Help | Customize
Add APRO.CNT to the Contents tab
Add APRO.HLP to the Index tab
Add APRO.HLP to the Link tab
Click on "Save Project"

We now have a copy of the old www.AProZilla.com web site (somewhat modified) here. That site has lots of useful information. You can also download the 4.05 version of the Apro Readme.hlp file and lots of other help files from this page.

For those who may want to dig into the APro source code, here are a couple of reports generated on March 03, 2003 by Pascal Analyzer (version 2.1.0.0) from http://www.peganza.com (note that Pascal Analyzer generates a lot of useful reports not included here).

A very nice SourceForge project using AsyncPro: RealTerm: Serial/TCP Terminal
Serial terminal program particularly targeted at binary and difficult data:
1) binary data, and debugging difficult communications problems.
2) use as a comms component for other s/w via full activeX interface.
Support for physical comm ports and TCP/IP.


New!  It doesn't use AsyncPro but you might want to check out CtrlTerm (it is very simple and easy to change and compile).

My (Paul Breneman's) main specialty (for many years) has been communication software using Turbo Pascal (still used in expensive embedded equipment), Delphi, and Free Pascal.  I think I started using TurboPower AsyncPro for DOS in the late 1980s.

I think my most enjoyable work ever was using Turbo Pascal on expensive real-time embedded equipment.  I was able to have (a single set of) source code that was used for about 15 versions of about 6 different products.  One batch file called about 15 batch files (one for each product/version) that compiled the source and compared the resulting executables against what had been shipped. I've done similar things before (but never had so much technical fun):
  http://brenemanlabs.com/SrcCtrl.htm

Between 1998 and 2003 I was a TurboPower TPX (volunteer support) person for AsyncPro.  Here is one of the last messages on their newsgroup when they shut down in January 2003:
  http://www.codenewsfast.com/cnf/article/0/permalink.art-ng686q2926

In mid-2003 I started TurboControl.com and for years (but no longer) had newsgroups to support the TurboPower libraries.  At http://www.codenewsfast.com/ you can put these into the search field:
^APRO BRENEMAN  -  for TurboPower *and* TurboControl messages
^APRO BRENEMAN ^TURBOPOWER  -  restrict to (older) TurboPower messages


Return to home page for TurboControl

TurboControl.com
Contact information on home page