>But then If I want to sell vfp classes (vcx) I need to give also the base classes so the user can used it?
Just in case you think this is a disadvantage of classes, I want to point out that the situation is quite similar with traditional (non-OOP) programming.
You have a function (user-defined function) B() that depends on function A(). In order to use function B(), you also need to distribute function A().
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)