I'm thinking there must be someting I have my head around the wrong way.
Creating a class of my own.
type
TMyThumbData = class(TObject)
private
...
public
constructor Create; override;
...
I get a compiler error:
mythumbdata.pas(17,18) Error: There is no method in an ancestor class to be overridden: "constructor Create;"
So I look up TObject (
https://www.freepascal.org/docs-html/rtl/system/tobject.html)
type TObject = class
public
constructor Create;
...
So is the documentation or the compiler right?
I have to remove the override - compiler insists it is en error, and the program will not run with it, so I guess compiler wins the contest.
In the create method of my new class
constructor TMyThumbData.Create;
begin
inherited Create;
...
There is no error or warning - so the Create that can not be overriden do exist...
I know, it is only TObject, so it doesn't really matter (TObject.Create does nothing).
An maybe I am wearing both belt and suspenders - but I don't see doing anything "errorneous".
In fact, the only "error" I can find in this, is that the compiler, will not let me override TObject.Create
Or is there some reason that it for TObject is not allowed, or other situations it is not allowed?