Ah, it looks like we have a sync problem here! The problem is that the C
code has also changed a bit and that was not sent to you. And indeed it
was not quite checked in yet because it had not been all tested (that
missing C function metioned in the error was added and another function
renamed). I've attached the four affected files, I hope this sorts the
problem but cannot test it thoroughly here at home so will check more on
Monday. Put the tar file in ccpnmr1.0/c/ccpnmr/analysis and untar it
there.
Needless to say, if when creating or deleting (or whatever) a peak if
there is an exception thrown then depending on where the exception
happened it is not unlikely that the Python and C worlds get out of sync
(because the latter might not have been told of things that have happened
in the former).
Anyway, this points out management issues as well which we'll need to sort
out.
Regards, Wayne
On Sat, 22 Oct 2005, Justin T Douglas wrote:
> > This is almomst certainly a problem with the Python
> > world and the C world
> > getting out of sync (so for example some peak has
> > been deleted from the
> > Python world but not the C world). Currently the C
> > world has a copy of
> > the (relevant) information for each peak, which
> > requires this sync. In
> > future we will change the C code so it manipulates
> > the Python objects
> > directly, so this kind of sync error should
> > disappear. For now, probably
> > the only way to work around this is to quit (saving
> > if you want to
> > save) and then start Analysis up again.
> >
>
> Ok.
>
> You are correct that quitting and restarting is an
> effective work-around.
>
> I'm assuming once c/python are out of sync there is no
> easy way to get them back into sync. I get an error
> anytime I try to delete a peak. The error message is
> also slightly different than the 1st one I reported so
> I cut and pasted it below.
>
> Traceback (most recent call last):
> File
> "/home/justin/Programs/ccpnmr/python2.4/lib/python2.4/lib-tk/Tkinter.py",
> line 1345, in __call__
> return self.func(*args)
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/WindowPopup.py",
> line 3094, in keypress
> Util.runMacro(macro, self.parent.argumentServer)
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/Util.py",
> line 1237, in runMacro
> command.run()
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/ccp/general/Command.py",
> line 83, in run
> self.func(argServer=self.argumentServer)
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/WindowBasic.py",
> line 408, in deleteSelected
> analysisPopup.queryDeleteSelected()
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/AnalysisPopup.py",
> line 410, in queryDeleteSelected
> self.deleteSelected()
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/AnalysisPopup.py",
> line 388, in deleteSelected
> object.delete()
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/memops/general/Implementation.py",
> line 437, in delete
> notify(obj)
> File
> "/home/justin/Programs/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/Analysis.py",
> line 540, in removeCPeak
> if peak.cPeak.getIsSelected():
> AttributeError: getIsSelected
>
>
>
>
>
> __________________________________
> Start your day with Yahoo! - Make it your home page!
> http://www.yahoo.com/r/hs
>
|