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

Home » Public Forums » archive » 'Open Declaration' finds the wrong instance of a routine
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: 'Open Declaration' finds the wrong instance of a routine [message #85225 is a reply to message #85182] Wed, 17 July 2013 07:31 Go to previous message
Rob Klooster is currently offline  Rob Klooster
Messages: 18
Registered: February 2013
Junior Member
Op woensdag 10 juli 2013 22:09:17 UTC+2 schreef Bill Gallery het volgende:
> On Wednesday, July 10, 2013 12:21:11 PM UTC-6, David Fanning wrote:
>
>> Bill Gallery writes:
>
>>
>
>>
>
>>
>
>>>
>
>>
>
>>> The idl workbench has a convenient feature: in the editor, if you right-click on a call to a procedure and select "Open Declaration", idl will open that procedure in a new window. However, it doesn't always find the correct instance of that procedure. Details below.
>
>>
>
>>>
>
>>
>
>>> I have a project that contains multiple copies of an idl procedure calc_a.pro (see diagram below.)
>
>>
>
>>> - Only one copy of calc_a is in !path.
>
>>
>
>>> - The routine calc_b.pro calls calc_a.
>
>>
>
>>> - In calc_b.pro, if I right-click on the call to calc_a and select "Open Declaration", it opens \project\old\calc_a.pro not \project\proc.calc_a.pro.
>
>>
>
>>> - However, 'help,/source' shows that the desired copy of calc_a.pro has been compiled.
>
>>
>
>>>
>
>>
>
>>> How do I prevent IDL from opening the wrong copy of calc_a.pro? The different copies of calc_a.pro may be different leading to confusion or worse.
>
>>
>
>>>
>
>>
>
>>> Notes:
>
>>
>
>>> - C:\MyProject\old is ***not*** in !path nor is './'
>
>>
>
>>> - Project>Properties>IDL Project Properties>"Update IDL path when project is opened or closed" is un-checked.
>
>>
>
>>> - The tab "Problems" shows
>
>>
>
>>> "Duplicate Routine: calc_a calc_a.pro C:\MyProject\old
>
>>
>
>>>
>
>>
>
>>> The problem does not appear to be with !path, but I can't find any other settings or preferences that control this behavior.
>
>>
>
>>>
>
>>
>
>>> Any suggestions?
>
>>
>
>>
>
>>
>
>> I would say both directories MUST be on your IDL path. ExelisVis is not
>
>>
>
>> the NSA, they aren't scrubbing your hard drive looking for duplicate
>
>>
>
>> files. They are looking in your IDL path.
>
>>
>
>>
>
>>
>
>> If you print !Path, are you *sure* you don't see the old directory
>
>>
>
>> there?
>
>>
>
>>
>
>>
>
>> I suppose it is possible they search every directory in the project
>
>>
>
>> directory. My project directory and my IDL directory are generally a
>
>>
>
>> long ways from one another, which may explain why I've never seen
>
>>
>
>> anything like this. :-)
>
>>
>
>>
>
>>
>
>> Cheers,
>
>>
>
>>
>
>>
>
>> David
>
>>
>
>> --
>
>>
>
>> David Fanning, Ph.D.
>
>>
>
>> Fanning Software Consulting, Inc.
>
>>
>
>> Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
>
>>
>
>> Sepore ma de ni thue. ("Perhaps thou speakest truth.")
>
>
>
> David,
>
>
>
> Neither the directory \MyProject\old nor any oblique reference to it (e.g., '.\') are in !path. Furthermore, idl finds the correct version (\MyProject\proc\calc_a.pro) when compiling, e.g., resolve,/all.
>
>
>
> Its a mystery.
>
>
>
> Bill

Just a guess, but there might be a hard-coded reference to that routine in the .metadata folder inside your project.

Rob.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: idl_engine not shutting down
Next Topic: "Can't create pipe" on call to spawn.

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

Current Time: Fri Oct 10 16:49:57 PDT 2025

Total time taken to generate the page: 1.12482 seconds