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



_______________________________________________
fpc-pascal maillist  -  [EMAIL PROTECTED]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to