Thanks to the last two posters, this clears it up for me and I know understand how it is done in Pascal.
Sorry if I was a bit abrupt earlier, but I was trying to get you to look and think :-)
Noting obviously what everybody has said about "class" vs "object"- which is an historical peculiarity- there's two things here.
First, unless you're specifically writing a single-unit program then each unit has an interface part and an implementation part. This is particularly apparent if you're using the Lazarus RAD IDE, where the main program is basically a stub "project" file.
Second, any class/object has a type declaration, and then a separate definition of the code that actually implements the constructor etc. Very often, the declaration will be in the interface part of a unit and the implementation will be hidden away in the implementation part.
And if you look at the error messages carefully, you'll see that they're actually "declaration not solved", i.e. you've declared something but not implemented it.
Finally, my reference above to "interface part" is distinct from "interfaces" as an object-oriented concept. The terminology is unfortunate, blame Borland.
HTH.
MarkMLl