[Lazarus] Best practices on using classes for subroutine libraries

Marcos Douglas md at delfire.net
Tue Apr 10 20:08:43 CEST 2012


On Tue, Apr 10, 2012 at 12:49 PM, Frank Church <vfclists at gmail.com> wrote:
> On 10 April 2012 12:28, Marcos Douglas <md at delfire.net> wrote:
>> On Tue, Apr 10, 2012 at 1:07 AM, Frank Church <vfclists at gmail.com> wrote:
>>> When I need a variation in procedures (standalone, not a class or
>>> object procedure) I use across my applications, I often find it more
>>> convenient to create a copy the unit into the project folder and make
>>> the changes there. Sometimes they get merged back into the shared unit
>>> or not at all.
>>>
>>> I am thinking now of using classes with procedures, without any data
>>> in them, so that I subclass them in the projects where I need to
>>> change them. Are the some good examples and some known good working
>>> practices on working with procedures in this way?
>>
>> I do this. Sometimes I prefer encapsulate subroutines (LCL, RTL, 3rd
>> etc) in static classes.
>>
>> TmyFoo = class
>> public
>>  class procedure Exec; static;
>> end;
>>
>
> Do you have some examples to show how it is done?
>
> Are there some examples in the FCL/LCL etc

In FCL/LCL I don't know if exists.

My example:

type
  TMsg = class
  public
    class procedure Info(const ATxt: string); static;
  end;

implementation

class procedure TMsg.Info(const ATxt: string);
begin
  ShowMessage(ATxt);
end;

------------------------
Using:

begin
  TMsg.Info;
end;


Marcos Douglas




More information about the Lazarus mailing list