Yep, got the message...
I was so excited earlier that I missed that one.
Never mind, still better than the multiple Loops IMHO.
Cheers Charles,
Youri
Charles Yeomans wrote:
Actually you would probably have to implement the 'raz' method in each
control subclass.
Charles Yeomans
On Dec 23, 2006, at 1:20 PM, Youri wrote:
Charles,
I love the concept of the second method using a "Class Interface" (I
still have to refer to the User Manual thought). Seems more... elegant
to me as, if I understand correctly the concept, I could implement
other Controls using the same "raz" method without having to loop
inside the loop inside the loop etc... And moreover, one single change
in the "raz" method is directly implemented in ALL my controls.
Thanks,
Youri
Charles Yeomans wrote:
There are a couple of ways. First is to extend the test inside the
loop --
if app.LayoutPraticiens.Control(i) isa MyEditField then
MyEditField(app.LayoutPraticiens.Control(i)).raz
elseif app.LayoutPraticiens.Control(i) isa MyPopupMenu then
MyPopupMenu(app.LayoutPraticiens.Control(i)).raz
else
A second way would be to define a class interface that declares raz,
and implement it in both MyEditField and MyPopupMenu. Then the
innards of your loop would be as follows.
if app.LayoutPraticiens.Control(i) isa Interface1 then
Interface1(app.LayoutPraticiens.Control(i)).raz
Charles Yeomans
On Dec 23, 2006, at 12:46 PM, Youri wrote:
Thank you it works perfectly ;-)
To answer to Andy, raz is a method of my Class "MyEditfield".
Therefore the 1st version to cast in a "vanilla" Editfield didn't work.
Another question in the same flavour is coming now to my mind :
I also have a "PopupMenu" control (for the gender) to which I would
like to apply the same treatment as the MyEditField.
I have now the solution to Subclass Popumenu and make it a
MyPopupmenu with a raz method, but I would have to loop for
MyEditfields and a second time for Mypopupmenus after. Is there a
way to loop throught my controls and detect on the fly Myditfield
and Mypopupmenus and trigger the raz method?
TIA,
Youri
Tom Benson wrote:
Woudn't you need to cast it as a MyEditField (rather than a vanilla
Editfield) in order to trigger a custom method..
ie.
if app.LayoutPraticiens.Control(i) isa MyEditField then
MyEditField(app.LayoutPraticiens.Control(i)).raz
- Tom
On 23/12/2006, at 10:09 AM, Charles Yeomans wrote:
On Dec 22, 2006, at 6:05 PM, Youri wrote:
Hi,
I have in a Container Control some myEditField (custom class with
a raz method). I simply want to loop throught all control, test
if it is a MyEditField, if so trigger the raz method of this
control. I'm using the following code which fails :
dim n, i as Integer
dim s as MyEditField
n = app.LayoutPraticiens.ControlCount - 1
for i = 0 to (n-1)
if app.LayoutPraticiens.Control(i) isa MyEditField then
EditField(app.LayoutPraticiens.Control(i)).raz
Rewrite it as above.
Charles Yeomans
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>