ZylSerialPort is a Delphi & C++Builder thread based serial port component. Use ZylSerialPort component to easily communicate with external devices on serial port connection, such as modems, bar code readers, GSM modules and others. It works in synchronous and asynchronous mode.
You can use it also with USB, IrDA and Bluetooth devices, because these devices have a driver that redirects the input from the USB, IrDA or Bluetooth port to a virtual serial port (you can check it in System/Device Manager/Ports). If your USB device is not provided with such a driver, then use a USB controller whose vendor provides a virtual serial port driver, such as FTDI or use a USB/RS-232 adapter.
The demo version is fully functional in Delphi and C++Builder IDE, but it displays a nag dialog (the licensed version will, of course, not have a nag dialog and will not be limited to the IDE). The package includes demo programs for Delphi and C++Builder and a help file with the description of the component.
Supported Operating Systems:
Available for: Delphi 10.2 (Win32 & Win64), Delphi 10.1 (Win32 & Win64), Delphi 10 (Win32 & Win64), Delphi XE8 (Win32 & Win64), Delphi XE7 (Win32 & Win64), Delphi XE6 (Win32 & Win64), Delphi XE5 (Win32 & Win64), Delphi XE4 (Win32 & Win64), Delphi XE3 (Win32 & Win64), Delphi XE2 (Win32 & Win64), Delphi XE, Delphi 2010, Delphi 2009, Delphi 2007, Delphi 2006, Delphi 2005, Delphi 7, Delphi 6, Delphi 5, Delphi 4, , (Win32 & Win64)C++Builder 10.1, (Win32 & Win64)C++Builder 10.2 C++Builder 10 (Win32 & Win64), C++Builder XE8 (Win32 & Win64), C++Builder XE7, C++Builder XE6, C++Builder XE5, C++Builder XE4, C++Builder XE3, C++Builder XE2, C++Builder XE, C++Builder 2010, C++Builder 2009, C++Builder 2007, C++Builder 2006, C++Builder 6, C++Builder 5, Turbo Delphi, Turbo C++
- The Delphi 2006 version is fully compatible with Turbo Delphi
- The C++Builder 2006 version is fully compatible with Turbo C++
- Delphi for .NET support was abandoned. You can use our .NET components instead, which are written in C#.
If you have a previous version of the component installed, you must remove it completely before installing this version. To remove a previous installation, proceed as follows:
-Start the IDE, open the packages page by selecting Component - Install Packages
-Select ZylSerialPortPack package in the list and click the Remove button
-Open Tools - Environment Options - Library and remove the library path pointing to ZylSerialPort folder
-Close the IDE
-Browse to the folder where your bpl and dcp files are located (default is $(DELPHI)\Projects\Bpl for Delphi, $(BCB)\Projects\Bpl for C++ Builder). -Delete all of the files related to ZylSerialPort
-Delete or rename the top folder where ZylSerialPort is installed
-Start regedit (click Start - Run, type "regedit.exe" and hit Enter). Open the key HKEY_CURRENT_USER\Software\Borland\
-Unzip the zip file and open the ZylSerialPortPack.dpk file in Delphi (ZylSerialPortPack.bpk or ZylSerialPortPack.cbproj file in C++Builder), compile and install it
and add to Tools/Environment Options/Library (in older Delphi/C++Builder menu) or Tools/Options/Delphi Options/Library/Library Path (in newer Delphi menu) or Tools/Options/C++ Options/Paths and Directories/Library Path & Include Path (in newer C++Builder menu, in C++Builder 10 or later, set them also for the classic compiler) the path of the installation (where the ZylSerialPort.dcu file is located). The component will be added to the "Zyl Soft" tab of the component palette. After you have the component on your component palette, you can drag and drop it to any form, where you can set its properties by the Object Inspector and you can write event handlers selecting the Events tab of the Object Inspector and double clicking the preferred event.
If you still have problems in C++Builder, running an application, which contains the component, then open the project and in C++Builder menu, Project/Options/Packages and uncheck "Build with runtime packages".
C++BuilderXE2: If you get access violation, running an application with this component, then comment out in the project's main form's cpp file the following: //#pragma link "ZylSerialPort".
-another possible problem with C++Builder: Go to Project options, C++ Linker, and uncheck Link with dynamic RTL.
-It is indicated to use this component with "Stop on Delphi exception" option deactivated. You can do this from Delphi / C++Builder menu, Tools/Debugger Options/Language Exceptions/Stop on Delphi exceptions in older versions or Tools/Options/Debugger Options/Embarcadero Debuggers/Language Exceptions/Notify on language exceptions in newer versions, otherwise you will have a break at all the handled exceptions.
Delphi/C++Builder 64-bit support is only for runtime, so you have to use it in the folllwing way:
Install the 32-bit version of the component as it described above and add to Tools/Options/Delphi Options/Library/Library Path, selected platform: 64-bit Windows the path of the Win64 subfolder of the component.
Before compiling the host application for 64-bit Windows, right click on Target Platforms, Add Platform and add 64-bit Windows (Make the selected platform active). If you compile the application in this way, it will be a native 64-bit application.
If you can't open the help file:
-right-click on the help.chm file to get the properties
-on the bottom it says: “This file came form another computer....”
-push “Unblock” next to this text
-now the help.chm files opens as all other help files
- support for Delphi/C++Builder 10.2 Tokyo
- new event OnFault
- new property IsFaulted
- new method ReadStringLine
- new method ReadStringUpToEndChars
- support for Delphi/C++Builder 10.1 Berlin
- synchronous communication support
- support for Delphi/C++Builder 10 Seattle
- support for Delphi/C++Builder XE8
- C++Builder Windows 64-bit support
- support for Delphi/C++Builder XE7
- support for Delphi/C++Builder XE6
- support for Delphi/C++Builder XE5
- Windows 64-bit support
- New property XonChar
- New property XoffChar
- New property XonLim
- New property XoffLim
- New property ParityCheck
- New property ReplaceParityErrors
- New property DiscardNulls
- New property DsrSensitivity
- New property TXContinueOnXoff
- New property ErrorChar
- New property EofChar
- New method ReplaceControlChars
- New handshake DTR/DSR
- RTS handshake removed; you can use EnableRTSOnOpen instead
- new Send methods
- log to file
- support for Delphi/C++Builder XE
- support for custom port names
- more standard baud rates supported