waldo kitty wrote:
question: in simple language, how can i have a routine with differing parameters like some routines in FPC and Lazarus do? i've never attempted this before and it is completely alien to my experience but i do use the functionality quite a lot with existing routines...

description: i have a class object with an internal routine that i want to be able to pass no or different parameters to.

example:  procedure MyObject.MyRoutine;
          procedure MyObject.MyRoutine(VarA : SomeType);
          procedure MyObject.MyRoutine(VarA : string; VarB: integer);

at one point, the first instance would be used... at another point one of the other instances would be used with the only difference being the parameters that are passed or not... i know that i would have individual instances with the necessary header and code for each... i just don't know if there is anything else special that needs to be done or if it can be done with an internal class object routine..

Just give it a whirl as you've shown, I think you've got it right. Another useful variant is giving *the* *last* parameter an optional value, which will allow you to omit the parameter:

procedure MyObject.MyRoutine(const VarA : string; VarB: integer= -1);

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to