[fpc-pascal] HTTPRoute.pas and TRouteObject
kevinofoz at gmail.com
Sun Feb 11 07:24:27 CET 2018
I did consider putting everything in the HandleRequest but I prefer
the virtual constructor.
Kevin Jesshope - In Touch Computer Support
Supporting Aberfoyle Hub R-7 and Happy Valley Primary Schools
On Sat, Feb 10, 2018 at 6:06 PM, Michael Van Canneyt
<michael at freepascal.org> wrote:
> On Sat, 10 Feb 2018, Kevin Jesshope wrote:
>> Working on a standalone web project using the new routing. I have a
>> class descended from TRouteObject.
>> My problem is that the constructor cannot be marked override so it is
>> not called when the class is created by HTTPRouter.
>> Adding an empty virtual TRouteObject.create resolves this.
> I have added a virtual constructor in rev. 38180
>> Is this a bad idea? Am I missing something?
> It's not a bad idea, but IMHO unnecessary. The object is created,
> HandlRequest is called and then destroyed. If you need the constructor to
> create extra things, you can just as well do this in HandleRequest.
> To separate the 'initialization' from the actual handling of the request
> you can do
> Procedure TMyRouteObject.HandleRequest(aRequest : TRequest; aResponse :
> // Do whatever;
> and in the destructor you then clean up. If you want to create a hierarchy
> of objects, yoy make InitObject virtual, override it in descendents and
> you're all set;
> But I've added a virtual constructor to TRouteObject, save you some hassle
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
More information about the fpc-pascal