In the manual it at https://www.freepascal.org/docs-html/ref/refse38.html it 
says "Calling the constructor will provoke a call to the virtual class method 
NewInstance, which, in its default implementation, calls GetMem, to allocate 
enough space to hold the class instance data, and then zeroes out the memory."

I'm trying this like below but it crashes. Is this correct? The fact 
NewInstance returns TObject instead of Pointer doesn't make sense to me and 
suggests this isn't correct.

  class function TDataObject.NewInstance: TObject;
  begin
    result := TObject(GetMem(InstanceSize));
  end;

Regards,
        Ryan Joseph

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to