From: <jf....@de...> - 2006-01-23 07:52:16
|
Yes, I'm adding objects created with SWIG in containers. These = containers are cleaned in the C++ code. I modified the javafilanize so that the objects are not cleaned automatically. All the objects in my code are deleted with the .delete() method in a try catch finally bloc or by the c++ code that manages the containers. Thank you Jean-Fran=E7ois -----Message d'origine----- De=A0: swi...@li... [mailto:swi...@li...] De la part de William S Fulton Envoy=E9=A0: vendredi 20 janvier 2006 23:50 =C0=A0: Henrard Jean-Fran=E7ois Cc=A0: swi...@li... Objet=A0: Re: [Swig-user] swig java finalize I'm interested in why you'd like to do this, if you don't mind me=20 asking. SWIG should only delete memory it created and therefore not=20 interfere with the memory created in your own C++ code. Are you doing=20 something like creating an object then adding it into a container which=20 your C++ code then manages the memory? The javafinalize typemap will affect all objects returned to the Java=20 layer and is likely to create leaks unless your C++ code manages all the = memory created by SWIG. You can target the typemap more appropriately by = replacing SWIGTYPE with the name of the C++ class. William Henrard Jean-Fran=E7ois wrote: > OK, >=20 > =20 >=20 > I have found. >=20 > I must add the following lines in the .i file. >=20 > =20 >=20 > %typemap(javafinalize) SWIGTYPE %{ >=20 > protected void finalize(){ >=20 > // do nothing >=20 > // delete(); >=20 > } >=20 > %} >=20 > =20 >=20 > Sorry >=20 > Jean-Fran=E7ois >=20 > =20 >=20 > =20 >=20 > = ------------------------------------------------------------------------ >=20 > *De :* swi...@li...=20 > [mailto:swi...@li...] *De la part de* Henrard = > Jean-Fran=E7ois > *Envoy=E9 :* vendredi 20 janvier 2006 11:08 > *=C0 :* swi...@li... > *Objet :* [Swig-user] swig java finalize >=20 > =20 >=20 > Hello, >=20 > =20 >=20 > I use swig with java. >=20 > I would like SWIG not to call the delete() function in the finalize()=20 > function of the java proxy object. >=20 > Is it possible? >=20 > =20 >=20 > My objects are destructed in my c++ dll. >=20 > So I have an access violation error when the delete is called by the=20 > finalize method because my object has already been deleted. >=20 > Thank you for your response. >=20 > =20 >=20 > Jean-Fran=E7ois >=20 ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log = files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D103432&bid=3D230486&dat=3D= 121642 _______________________________________________ Swig-user mailing list Swi...@li... https://lists.sourceforge.net/lists/listinfo/swig-user |