[Lazarus] Is porting Delphi program using AsyncPro to fpc/laz possible?

Bo Berglund bo.berglund at gmail.com
Thu Jan 21 10:42:15 CET 2016


On Thu, 21 Jan 2016 10:21:12 +0100, Michael Schnell
<mschnell at lumino.de> wrote:

>On 01/21/2016 10:09 AM, Bo Berglund wrote:
>> I have a device comm simulation program created in Delphi 7 (or maybe
>> 2007), which uses TurboPower Async Pro components for the serial and
>> TCPIP communications. It is used for production testing and also for
>> development purposes. On Windows of course....
>>
>> Now I would like to port this to the Raspberry Pi environment so the
>> simulator could be placed in a small package and replicated easily.
>
>You would be my (and many others') hero if you port Async Pro to Linux and provide the result publicly. This has been requests already multiple times.
>
>IMHO this is one of the greatest shortcomings with Lazarus/fpc (even though of course there are alternatives).
>
>Let me know if I can be helpful on that behalf.
>

I suspected as much...

AsyncPro in itself is MASSIVE with loads of component classes and
functions geared towards all kinds of modem communication.
And it is all very convoluted.
A few years back before I retired I wanted to see what the
dependencies looked like starting at the TApdComPort, so I could
minimize the number of APro units I needed to put into version
control.
But after some time I gave up. At that time I had traversed between 10
and 20 units, which just added more dependencies all the time.
So I put the complete AsyncPro into our version control and stopped
thinking about it.

Now it jumps back when I try to port to Linux on ARM...

Unfortunately I am not capable of doing such a full port.

I know I have asked here before about serial/tcpip communications
using event driven sockets and serial port components, but the
solutions seem to be far between....

In fact for the simulator I want to port I could probably rip out the
APro component and replace it with a TCPIP socket one instead since
the RS232 is not going to be used anymore.
But agin the code is geared towards event driven comm and most of what
I see in FPC for Linux TCPIP is blocking and that would mean more
surgery in the existing code.

I started testing LNet a few months ago but did not get so far then
and had to drop it for other tasks.
(See also thread about packages in fpc where LNet is not automatically
installed, yet it is an fpc stock package.)

An LNet implementation which is tweaked to use events for the receive
would be a possible starting point..


-- 
Bo Berglund
Developer in Sweden





More information about the Lazarus mailing list