I’m using the TProof::Process(char *datasetlist, char *selectorname) to run my proof query. When the query is done I need to delete the selector object. Is that possible with out deleteing the TProof object or closing the connection? It looks like the TProofPlayer object holds onto a copy of this object between calls… I suppose I coudl run a dummy query to force this to happen??
P.S. I need to do this so I can unload the shared library that contains the TSelector object…
Sorry for the very late reply.
The selector object is owned by the TProofPlayer object in TProof to which there is no public access.
On the workers the player objects (and therefore the selector object) are deleted at the end of the query.
On the client, the player object is created as part of the session opening and its lifetime is the same as the one of the session.
The selector object is cleaned at the beginning of the next query, so if you just run a dummy selector you should be able to get rid of the previous one.
Alternatively, starting from dev release 5.33/02, there is support for selector-by-obj processing where you have full ownership and control of the selector object.
Hope it helps.