[Lazarus] I desperately need some ideas of reducing edit, compile, debug cycle

Thierry Coq tcoq at free.fr
Sun Nov 28 09:43:40 CET 2010

Hello Frank,

On 26/11/2010 20:56, Frank Church wrote:
> Quite simply I am thinking of a way to create the application in 
> parts, so that the parts containing the new functionality can be 
> developed separately as standalone programs, perhaps even console 
> programs.
The FPC/Lazarus way is really to use components as the way to break down 
the overall complexity of your application, and structure your 
components into packages, several components working together going into 
one package.
The dependency graph of your set of packages should be acyclic (no 
cycles), where the more stable components and interfaces are the most 
used, and the newer things are at the end of the dependency graph.

Traditionally, Delphi has supported dynamic package loading allowing 
plug-ins to be added dynamically. FPC doesn't do that yet, but making 
DLL's is still possible if you need that option. Compiling your packages 
statically into your application does the trick nicely otherwise.

There are many books about making components for Delphi, those should be 
useful to you, especially those describing how to write non-GUI 
components (domain objects) as well as linking GUIs to domain objects.

Additionally, Peter Coad has a nice list of patterns for components that 
could be useful. It's in his book "UML in color with Java", but very 
readable. The UML tool, ModelMaker, now implements Coad's color pattern 
and can help with your design. It parses most of FPC/Lazarus code.

My own site www.tcoq.org has a few non-visual components that may 
provide examples, especially the Excel interface unit. You've got an 
example of how to independently test a component.

I hope this helps,
Best regards,

More information about the Lazarus mailing list