[fpc-pascal]Classes/Objects/Pointers / Pointer Help
Matt D. Emson
matt at Diplomat.co.uk
Mon Feb 10 14:30:06 CET 2003
-----Original Message-----
From: Matt Emson [mailto:memsom at interalpha.co.uk]
Sent: 10 February 2003 13:29
To: 'fpc-pascal at deadlock.et.tudelft.nl'
Subject: RE: [fpc-pascal]Classes/Objects/Pointers / Pointer Help
This is where Classes are better than objects... This will only work if you don't reference any thing that is instantiated by the constructor, i.e. all Methods and fields.
> ***
> type TmyObject = object
> procedure test;
> end;
type
TMyClass = class
class procedure test;
end;
> procedure TmyObject.test;
> begin
> writeLn('test');
> end;
As is, but add 'class' prefix..
> procedure main;
> var
> MyObject: TmyObject;
> begin
> MyObject.Test;
> end;
> ***
No changes.
What you want is garbage collection, not a lack of constructors/destructors... What you will get is VBPascal. Nasty.
You could try:
IMyClass = interface
procedure Test;
end;
TMyClass = class(TInterfacedObject, IMyClass)
class function Get(): TMyClass;
procedure Test;
end;
Class function TMyClass.Get() : IMyClass;
Begin
result := TMyClass.Create;
End;
Though this is quite nasty in itself too.
Matt
More information about the fpc-pascal
mailing list