I have hard times to remove a wave. The wave is not opened in a table nor used in any procedure.
When I try to delete the wave the following dialog appears:
"1 object(s) could not be deleted because they are in use."
What am I doing wrong?
Are you sure it is not plotted on a graph? Check this.
What happens if you use the otion "KIll all waves not in use" ?
Is the wave in the data folder that is currently active?
thanks for the reply. The wave is not plotted in any gaph nor table. Via "kill all waves not in use" it does not work neither.
I dont know if I got your question right, but yes the wave is located in the "current data folder" under "root".
Even if I delete everything in the Procedure window the wave cannot be deleted.
have you had a look into Misc->Object Status... ?
Maybe there is some formula depending on the wave.
thanks for the hint but under object status of the wave to be killed it says "no dependency". However interestingly neither of the waves, variables nor strings have any dependency even though many of them are used in a procedure. Something is weird.
But thanks anyways,
To the best of my knowledge, waves that are used in a procedure do not show a dependency. Procedures access waves as needed, during run-time, they are not actually linked in any way. A mistake I've noticed with people who have recently switched over from other programming languages is they will often do wave arithmetic using :=
This creates a dependency between the waves. For instance
In this example, if you were to change a value in wave1, wave2 would be updated automatically due to the dependency imposed by the := operator. In this crude example, you would not be able to delete wave1 without first deleting wave2. Could this be the problem?
Could the wave be locked?
If so, you should see a small red dot in the upper right corner of the icon for the wave in the data browser.
Also you could execute on the command line...
If it is locked you would see that the LOCK state is 1:
The LOCK state can be changed with
setwavelock 0, <yourwavename>
Use 0 to unlock and 1 to lock.
setwavelock 0, <yourwavename>
It is also possible that an XOP (software plug-in for Igor) is reporting the wave to be in use. NIDAQ Tools MX will tell Igor that a wave is in use if it is using the wave for the destination of a scanning operation. I am reasonably sure that NIDAQ Tools MX stops reporting that it is in use after the scanning is finished, but another XOP might not be so nice.
When closing a table using a shift-click to avoid the "Close Window" dialogue (on Mac), I get the same problem that I cannot delete the wave anymore, which was displayed in that table.
Is that a bug or a feature?
Shift-click hides the table - it does not kill it. To unhide it use the Windows->Tables submenu.
To kill the table (or graph, layout or control panel) without a dialog you must option-click it (Macintosh) or Alt-click it (Windows).
I just tried it with Alt+close as hrodstein suggested and now it works! I was always using Shift+click to close tables but wasnt aware that this does not kill the wave. Thank you very much!
yeah thanks!, I knew there was a shortcut to avoid the dialogue ...but I didn't know there is one to hide the table
EDIT: for the first time in about ten years I realised that there is even a note in the dialogue window about shift-click!
There was a recent thread on the Igor mailing list concerning slow loading of an experiment due to many open graphs. (See http://www.wavemetrics.com/search/viewmlid.php?mid=25339 for Howard's solution.) Will hiding windows have the same beneficial effect on reducing experiment load time as does closing the windows and saving them as recreation macros?
In that case the user had 29 open graphs with each graph displaying a hundred thousand or so points as markers.
No but it will make a dramatic difference only with large amounts of data in the graphs.
Back to top