Re: Tag name IDLITCOMPONENT_TOP is undefined [message #36635] |
Fri, 10 October 2003 08:05  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Oliver writes:
> Hi,
>
> could someone help me with this error message:
>
>> Tag name IDLITCOMPONENT_TOP is undefined
>
> In my source code I have an object 'A' which is
> subclassed from object 'B' which itself is subclassed
> from IDLgrRoi.
>
> The error sometimes occurs during a function call equivalent
> to:
>
> A->setProperty, color=2
>
> Could someone explain what happens here?
All IDL object components are subclassed from
an IDLgrComponent object. This object has
an IDLitCompenent_Top field, as you can see here:
IDL> a = Obj_New('IDLitComponent')
IDL> ok = Execute("struct = {" + Obj_Class(a) + "}")
IDL> Help, struct
Your SetProperty method probably chains down to the
SetProperty method of the IDLitComponent object. At that
point, something goes wrong and IDL thinks you don't have
this field in the object. I can think of two reasons for
this:
1. There is a bug in someone's code (and probably not
yours). I lean toward this explanation only because
the keyword COLOR throws red flags for me. This is
something IDL likes to take control of itself, much
to my personal displeasure.
2. Your object is linking to an object library that
is not completely up to date. I'd make sure all
your paths are pointing to the most recent IDL
object library.
There are probably other reasons as well, but the economy
of your error message precludes too much speculation. :-)
Cheers,
David
--
David W. Fanning, Ph.D.
Fanning Software Consulting, Inc.
Phone: 970-221-0438, E-mail: david@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|
|
|
Re: Tag name IDLITCOMPONENT_TOP is undefined [message #36716 is a reply to message #36635] |
Mon, 13 October 2003 03:40  |
justspam03
Messages: 36 Registered: October 2003
|
Member |
|
|
Hi David,
thanks for your answer.
Neither object 'A' nor object 'B' contain a setProperty
method. Since the color attribute is standard to IDLgrRoi
[where 'A' is subclass to 'B' which is subclass to 'IDLgrRoi']
I would expect IDLgrRoi to take care of the method call.
Seems it doesn't.
Well, I do some loading and saving of objects around
the part where the quoted error happens, and for internal
reasons, I have to delete some objects from the tree.
Although the deleted objects should have no concern with
the hierarchy at which base IDLitComponent stands, something
may go wrong here.
As a consequence I'll use my own saving routine (and file
format) - hope that helps.
(on some other occasion I also found that IDL may miss
the compilation of some user defined objects when subclassed
over several levels - so my trust in IDL's handling of
object hierarchies is a bit shattered anyway :)
Thanks in any case
Cheers
Oliver
[used my real e-mail address when first signing up with goole
groups - now I'm now flooded with spam. Grrr. Stupid me.]
|
|
|