Oxygene Documentation uncompleted!

Hey guys,

i want to ask, if you could document the polymorphism/inheritance stuff for oxygene more detailed because its really uncompleted and i dont know some declaration stuff for it :confused:

Thanks :slight_smile:

Sure thing. what specifically are you looking for?

  1. How does the overriding work in oxygene with properties?

    MyProp: boolean read; Abstract;
    why do i get, by trying to override a property: "get_MyProp: boolean read; override;

example:

type
  Foo = public class
  public
    MyProp: boolean read; abstract;
  end;

type
  Foo = public class
  public
    MyProp: boolean read true; override;
  end;

not sure i understand this part of the question…

When i define:

property Capacity: TCapacity read; Abstract;

I get

  property get_Capacity: TCapacity read; override;

in the derived class, by trying to override it, IntelliSense Shows me this, it doesnt Show me the right declaration of it, without the “get_”

Furthermore, am i able to concat 2 constructors within the same class, like:

type Foo = class
public
  constructor(a,b: string);
  constructor(c: int32);





 //implementation
 constructor Foo(c: int32) : this('a', 'b') //was able in C#
end;

You’re saying code completion inserts the name with get_? that looks like a bug.can you send me a complete project that shows this?

Yeah, thats now how Pascal does this. you call the other constructs inside the method body:

constructor Foo(c: int32);
begin
  constructor('a', 'b');
  ...
end;

Ok, next is:

Why is it possible to mark a constructor as virtual/Abstract or something else?

For a class type construction TBarClass = class of TBar;

http://stackoverflow.com/questions/791069/how-can-i-create-an-delphi-object-from-a-class-reference-and-ensure-constructor