Subject Re: INHERITANCE
From Andy Taylor <andy.taylor@which.net>
Date Wed, 19 Jul 2017 09:42:30 -0400
Newsgroups dbase.getting-started

Mustansir,

I have added a custom form to ccSupermethods which is now derived from MyForm so that
you can see that super:: contained within a method of the form applies to the form's "parent" class....

Andy

// Save the following as ccSuperMethods.wfm
*--cut here----------------------------------------------*
// displays use of methods in cc & calling with super...
        set procedure to ccSuperMethods.wfm additive
** END HEADER -- do not remove this line
//
// Generated on 18/09/2016
//
parameter bModal
local f
f = new InheritForm()
if (bModal)
   f.mdi = false // ensure not MDI
   f.readModal()
else
   f.open()
endif

class InheritForm of MyForm from ccSupermethods.wfm
   with (this)
      height = 10.1364
      left = 88.7143
      top = 9.1364
      width = 46.7143
      text = "CcSuperMethods"
   endwith

   this.TXT1 = new MyTXT1(this)
   with (this.TXT1)
      height = 1.0
      left = 4.0
      top = 1.5
      width = 12.0
      text = "Txt1"
   endwith

   this.TXT2 = new MyTXT2(this)
   with (this.TXT2)
      height = 1.0
      left = 4.0
      top = 3.5
      width = 12.0
      text = "Txt2"
   endwith

   this.TXT3 = new MyTxt3(this)
   with (this.TXT3)
      height = 1.0
      left = 4.0
      top = 5.5
      width = 12.0
      text = "Txt3"
   endwith

        function onopen
                this.name = this.text
                super::onOpen()

endclass

Class MyTxt1(f) of Text(f) custom
   Function OnOpen
           Msgbox("I am "+this.name+" running "+Program())
Endclass

Class MyTxt2(f) of MyTxt1(f) custom
   Function OnOpen
           super::OnOpen()
                *--now my own
           Msgbox("I am "+this.name+" running "+Program())
Endclass

Class MyTxt3(f) of MyTxt2(f) custom
   Function OnOpen
           MyTxt2::OnOpen()
                *--now my own
           Msgbox("I am "+this.name+" running "+Program())
Endclass

class MyForm of FORM
   with (this)
      height = 16.0
      left = 96.5714
      top = 12.1364
      width = 40.0
      text = ""
   endwith

        function onOpen
           Msgbox("I am "+this.name+" running "+Program())

endclass

*---end here--------*