comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Object Funkiness
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Object Funkiness [message #9658] Wed, 30 July 1997 00:00 Go to previous message
J.D. Smith is currently offline  J.D. Smith
Messages: 214
Registered: August 1996
Senior Member
OK OOP experts. Here's a conundrum...

here's a procedure to test dynamic binding of methods in IDL...

pro testdb
a=obj_new('eeke','a')
b=obj_new('eeke','b')
list=[a,b]
ran=fix(randomu(sd) ge .5)
list[ran]->Message, ran, 1-ran
obj_destroy,list
return
end


and the file eek__define.pro contains:

pro eeke::Message, ran, ran2
print,self.val,' random: ',ran, ran2
return
end
function eeke::Init,val
self.val=val
return,1
end
pro eeke__define
struct={eeke,val:''}
return
end


When I run it I get

IDL> testdb

list[ran]->Message, ran, 1-ran
^
% MESSAGE: Incorrect number of arguments.
At: /u/jdsmith/idl/pro/mylib/testdb.pro, Line 6
% Compiled module: TESTDB.
% Attempt to call undefined procedure/function: 'TESTDB'.
% Execution halted at: $MAIN$



If I change the name of Message to something else, or take away the
arguments to message in both the method definition and the call, the
error disappears. Is 'message' somehow different than other names? I
thought it could be shadowing the idl built-in message, and screwing up
the dynamic binding, but I've tried tons of other built-in names (like
'print', 'xmanager', etc.) with nary a problem. Perhaps 'Message' is
some IDL internal method for all objects... anyway it is very
troublesome, and I'd like to figure out the cause. Any help would be
greatly appreciated.

JD

P.S. Except for this problem, dynamic binding seems to work well.
[Message index]
 
Read Message
Read Message
Previous Topic: hdf vgroups
Next Topic: call external, callable idl or linkimage ?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 19:19:40 PDT 2025

Total time taken to generate the page: 0.00377 seconds