Nein. Ein einfacher Hack reicht:
TCustomControlHack = class(TCustomControl);
Das musst du in der
Unit, in der du auf Canvas zugreifen willst, einfügen - einbinden der
Unit, in der der Hack deklariert wird, reicht nicht! Dann kannst du TPanel nach TCustomControlHack casten und auf Canvas zugreifen. Lass dich nur nicht erwischen, wenn du so etwas in .NET versuchst.