[fpc-pascal] Re: Design Patterns Questions

Graeme Geldenhuys graeme at geldenhuys.co.uk
Sun Oct 28 19:56:08 CET 2012

On 28/10/2012 16:38, bsquared wrote:
> On 10/28/2012 08:53 AM, Juha Manninen wrote:
>> On Sun, Oct 28, 2012 at 5:09 PM, bsquared <bwcode4u at gmail.com> wrote:
>>>    And as an aside, what is the state of tiOPF, I could not get it to
>>>    install in Lazarus 1.02.
>> tiOPF2 works with Lazarus but the visual data-components included in
>> tiOPF do not work.
>> It is not a big problem because you can still use the persistence
>> system and MGM (Model GUI Mediator).

Correct. I gave up trying to implement the tiOPF-aware GUI components 
with LCL, because LCL and the Lazaurus Forms Designer was simply too 
buggy. Others are welcome to contribute to this.

MGM is just another implementation of Model-View-Controller with a few 
tweaks to work better with more modern GUI toolkits that have there own 
events built-in.

MGM has been used in production systems since 2006, so works very well, 
and supports fpGUI, LCL and VCL. Any standard GUI components not 
supported by MGM yet, can very easily (a matter of minutes) be supported.

To getter a better background on MGM and how it uses the Observer and 
Mediator design patters, you can look at an old article I wrote for the 
Toolbox magazine.


There are a few other articles up there too.

> What version of tiOPF should I use.  I tried both 2 and 3, but got
> several different errors when attempting to compile demos.

For use with FPC - you can only use tiOPF2. tiOPF3 is currently Delphi 
only because it only supports Delphi 2009 and newer features. FPC is 
still too incompatible to those Delphi versions.

   - Graeme -

More information about the fpc-pascal mailing list