Thread: Sdk
View Single Post
  #26  
Old 07-12-2012, 08:17 AM
dcnieho dcnieho is offline
Member
 
Join Date: Feb 2011
Posts: 59
Quote:
Originally Posted by farshizzo View Post
The viz::ref_ptr usage was intentional. You need to #include <viz/ref_ptr> which should come with the SDK.

You should have to set NULL as the return object. However, I just noticed that Vizard is eating up the exception if NULL is returned by the plugin. We'll need to fix this for the next release. In the meantime I would just raise the exception from the Python wrapper method.
Sorry to dig up an old thread, but i am just testing this again with the newest Vizard 4 and SDK (both freshly downloaded today).

When try to send an exception from my python plugin as follows
Code:
PyErr_SetString(PyExc_RuntimeError, "errorstring");
data.set( PYTHON_RETURN_OBJECT, NULL);


I always get a TypeError instead of the exception i'm trying to communicate. The stacktrace always ends like this:
Code:
  File "C:\Program Files (x86)\WorldViz\Vizard4\python\viz.py", line 7381, in command
    return _ipcSend(_VIZ_CMDEXTNODE,self.id,command,mesg,x,y,z,w)
TypeError: command must be an int
The next call above that is me calling the C++ code from the extension node, e.g. self.command(1,stimSpec) (my node derives from viz.VizExtensionNode)

I'm not sure what this typeerror is referring to, as my command is correct, it works without error when not trying to return an exception.

Am I doing something wrong?

Best and thanks,
Dee
Reply With Quote