On 10 April 2012 19:08, Marcos Douglas <m...@delfire.net> wrote:
> On Tue, Apr 10, 2012 at 12:49 PM, Frank Church <vfcli...@gmail.com> wrote:
>> On 10 April 2012 12:28, Marcos Douglas <m...@delfire.net> wrote:
>>> On Tue, Apr 10, 2012 at 1:07 AM, Frank Church <vfcli...@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;
>

I see that you declare your procedure as static. Is that the way they
should be or is that your own preference?
Is it possible to make them virtual and override them or replace them
in descendant classes?

>
> Marcos Douglas
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus@lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus



-- 
Frank Church

=======================
http://devblog.brahmancreations.com

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to