[Lazarus] *SPAM* Re: Lazarus implementation of TListView etc?

Michael Schnell mschnell at lumino.de
Fri Oct 23 09:32:41 CEST 2015


On 10/22/2015 06:32 PM, Graeme Geldenhuys wrote:
> That still doesn't explain why the original Delphi code required a
> TListView instance. TListView is purely a GUI component - so I'm very
> puzzled.

I had been at this point already years ago. As you might know, I myself 
do not have any Pascal "user" project to do, but what I wanted was to 
provide a "toolbox" for my colleagues, who manage a huge "embedded" 
Delphi project and would like to run it on Linux. As the project in fact 
is a Windows Service, the Linux machine is supposed to run "headless".

This is exactly the same task as Bo has in mind.

Now my colleagues (like Bo) decline to modify the Delphi code greatly, 
as the project still needs to be able to compile and run in Delphi for a 
long time in the future. (A friend of mine, as he faced the same issue, 
in fact rewrote his complete former Delphi project in Python and finally 
was very happy with this.)

So what they want is workalikes for the visual Delphi components (as 
they are provided by the LCL) but in a variant (i.e. "Widget type") that 
does not need a GUI binding. That is why I hat been working on an 
"ActiveNoGUI" Widget type (a better name might be "General Service 
Application", as its supposed to be independent of the OS and the ARCH).

In a first step it just should provide handling the fpc-RTL's TThread 
queue events, Application.ProcessMessages(), 
Application.QueuAsyncCall(), and TTimer.

In a second step as many dummies for visual components as possible (or 
necessary) should be provided, maybe with some basic display/keyboard 
functions via pipe/telnet

In a third step "ifi" functionality should be added for providing an as 
complete as possible (or necessary) remote GUI.


But right now, these plans are of less interest in the company, as WIN 
10 IOT provides running Delphi Service applications on a not bloated 
cost-free OS and cheap hardware such as the MinnowBoard MAX.. (Maybe not 
a bad idea for Bo, as well.)


As with any newer version of Windows, a Service is not allowed any more 
to (optionally) show a GUI, we (company) are pursuing the "un-RAD"ing of 
the software (separating the business-logic and the GUI in distinct 
units) anyway. So the result will be a compiled Delphi project and run 
on Win IOT. A remote user interface can be done by TCP/IP - streaming 
the completely propriety interface between these two brands of units.

Regarding Bo's project: This "un-RAD"ing would eliminate TListView and 
friend and allow for making it a reals Service (even still in Delphi) 
and then port it to headless Linux using Lazarus. (As I don't think he 
wold be inclined  to follow me on the long (endless ?) path:  General 
Service Application" Widget Type -> enhancing same to the visual 
components he uses -> "ifi").

-Michael




More information about the Lazarus mailing list