Re: IDL8 CWO issue [message #72498 is a reply to message #72496] |
Tue, 07 September 2010 08:43  |
Paul Van Delst[1]
Messages: 1157 Registered: April 2002
|
Senior Member |
|
|
Larry Kneller wrote:
> Hi All,
>
> I found this "bug" that appears in some of my code now, and describing
> it may be a little confusing.
> In what follows I refer to a function called "class_name()" that I use
> to create an instance of the class
> "class_name" that is defined in class_name__define.pro.
>
> I have a lot of object compound widgets where I make a function that
> (for clarity) has the same name as my compound widget class, and it
> returns the widget_id:
>
> id = class_name(obj=obj, etc)
>
> Here I use the keyword "obj" to get the instance of my class called
> "class_name" that is created
> in the obj_new('class_name',...) call in the widget creation function
> called "class_name".
>
> Now, in IDL8 when I call the widget_creation function "class_name",
>
> id=class_name(obj=obj,etc.)
>
> this is a direct call to "class_name::init" method in my
> class_name__define program, and if
> the call does not throw an error, instead of returning a widget id it
> returns and object reference!!!
Is this due to the IDL8 introduction of
x = class_name(...)
being equivalent to
x = OBJ_NEW("class_name",...)
?
Not having yet gotten IDL8 installed yet I haven't been able to check that the above was definitely extended to
user-defined classes. Previous threads have discussed it for the new list() object (i.e. people with user-defined
functions called "list" ran into problems IIRC).
cheers,
paulv
|
|
|