Subject |
Re: INHERITANCE |
From |
Andy Taylor <andy.taylor@which.net> |
Date |
Wed, 19 Jul 2017 05:19:36 -0400 |
Newsgroups |
dbase.getting-started |
Mustansir,
The problem is where you placed the following code..
function MYTABBOX1_onSelChange()
// super::onSelChange()
mytabbox::mytabbox_onselchange()
this.parent.text1.text=this.datasource
return
It sits inside the forms class/endclass statements which as far as dBASE is concerned makes it
a method of the form. It is not a method of MyTabBox1. Putting super::onSelChange() in a form
method means that super:: looks for the method in the forms ancestor object which would only
exist if you have set one up in a custom form class.
Andy
> Below is my program example of tab. It works as you indicated. There is one statement with comment //. If I remove the comment slashes and use with super class it does not work. If I were to use super class would the statement be.
>
>
> ** END HEADER -- do not remove this line
> //
> // Generated on 07/19/2017
> //
> parameter bModal
> local f
> f = new LABORATForm()
> if (bModal)
> f.mdi = false // ensure not MDI
> f.readModal()
> else
> f.open()
> endif
>
> class LABORATForm of FORM
> set procedure to :DT_custom:MyControls.cc additive
> with (this)
> metric = 3 // Inches
> height = 6.0
> left = 0.0
> top = 1.0
> width = 7.5833
> endwith
>
> this.MYTABBOX1 = new MYTABBOX(this)
> with (this.MYTABBOX1)
> onSelChange = class::MYTABBOX1_ONSELCHANGE
> height = 0.2292
> left = 0.0
> top = 5.75
> width = 7.5625
> endwith
>
> this.TEXT1 = new TEXT(this)
> with (this.TEXT1)
> height = 0.5729
> left = 1.5313
> top = 1.1458
> width = 2.625
> text = "Text1"
> endwith
>
>
> function MYTABBOX1_onSelChange()
>
> // super::onSelChange()
> mytabbox::mytabbox_onselchange()
> this.parent.text1.text=this.datasource
>
> return
>
>
> endclass
>
> class MYTABBOX(parentObj) of TABBOX(parentObj) custom
> with (this)
> onSelChange = class::MYTABBOX_ONSELCHANGE
> onOpen = class::MYTABBOX_ONOPEN
> id = 110
> height = 22.0
> left = 0.0
> top = 350.0
> width = 465.0
> metric = 6
> colorHighLight = "WindowText/0x80ffff"
> dataSource = 'ARRAY {"Individual Record","Find Record"}'
> endwith
>
> function MYTABBOX_onSelChange()
> form.pageNo := this.curSel
> return
>
> function MYTABBOX_onOpen()
> this.curSel := 1
> form.pageNo := 1
> return
> endclass
>
> Regards
> Mustansir
|
|