[fpc-pascal]Classes/Objects/Pointers / Pointer Help
Matt Emson
memsom at interalpha.co.uk
Mon Feb 10 14:29:17 CET 2003
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