-----Original Message-----
From: Matt Emson [mailto:[EMAIL PROTECTED]] 
Sent: 10 February 2003 13:29
To: '[EMAIL PROTECTED]'
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

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

Reply via email to